Microsoft® .NET: Architecting Applications for the Enterprise (Developer Reference)

Category: Operating Systems
Author: Dino Esposito, Andrea Saltarello
This Month Stack Overflow 11


by anonymous   2019-07-21

The simple answer would be to use partial classes. This isn't really telling you about best practice design for your application.

I'd recommend reading Microsoft .NET: Architecting Applications for the Enterprise

You can download the source code that goes with the book from codeplex. Just search for nsk.

The source code makes a lot more sense after reading the book.

by anonymous   2019-07-21

I recommend doing some reading sir. One book I found that has given me a GREAT foundation on .NET architecture has been this book:

Goes into developing with testing in mind, n-tiered architecture, inheritance, everything.

by anonymous   2019-07-21

I would say taking material to back it up is the way to go, that way they can't use your inexperience as an argument (although it sounds to me that you are not particularly inexperienced or junior!). My main reccomendation would be this book:

On page 146, it states:

'TS is suited for simple scenarios where the business logic is straightforward and, better yet, not likely to change and evolve.'

This does not describe the system you are working on.

It then goes on to describe Domain Model, and why it is suited to bigger systems.

I would question whether thay understand that it is Transaction Script they are opting for? In my experience, TS can often be the default choice for inexperienced organisations who don't even understand that there is even an option. They just think 'that's how it's done'. How successful and maintainable is their current code? If they are choosing TS for huge projects, my guess would be 'not very'! Do they blame the client for changing specifications when things go wrong? If so, this is an indication that their choice of architecture is wrong.

In my experience, the overhead in implementing Domain Model is minimal. And it is a lot less painful than trying to scale and maintain a badly architected system.

Also, in this day and age, database servers should be able to handle systems based around NHibernate with no problems. If it can't, then that is a problem with the database server. And how do they intend to unit test these stored procedures? I usually find SP are the single biggest point of developer error.

Like Magnus said, I could just go on and on about this. I don't know the details of the system, but as soon as you used the word HUGE, Domain Model becomes the most obvious choice.

by anonymous   2019-07-21

I recommend the following book: Microsoft® .NET: Architecting Applications for the Enterprise by Dino Esposito; Andrea Saltarello.

They are discussing architecture in a pragmatic way (Yes there are code examples). Many of the things you have mentioned will be described in the book. You will probably not get all the answers but it will inspire you. (They have made a book about Ajax/ASP.NET arch too but I have not read that one)

You want to use a lot of new cool technology, that’s cool. But most important is why do you want to use it, what business value will it add? Ask yourself what do you want to with your product in the future? To be able to figure out today and tomorrows requirement will be the best thing to help you build “loosely coupled and configurable architecture” it will help you more then any of the techs you have choosen.

by anonymous   2019-07-21

It's here: Enterprise Solution Patterns Using Microsoft .NET

The paper book is here: Microsoft® .NET: Architecting Applications for the Enterprise

EDIT: The link that Maxim gave is the one I was originally trying to find!: patterns & practices Application Architecture Guide 2.0