architecture help needed RRS feed

  • Question

  • Hey everyone,


    I am trying to learn how to design and build an application using the multi-tier approach. I understand what to do abstractly(very abstractly).  I am having a hard time understanding how to implement these.


    I want to seperate everything in my application into the appropriate layers (UI, business logic, data...etc). I am assuming that this is done using classes and setting up classes for each of them as needed.


    I also want to learn more about entity classes and how to use to use them.


    Studying patterns such as MVP has been recommeded (and I plan on reading up on that).


    A book called "Head First Object-Oriented Analysis and Design" was recommended. The reviews of this book

    sounded like it was written in an easy to read style and that it is very helpful. I am a little concerned that I will

    have a hard time with the book since the examples are in Java (I am using C# and SQL Server). It is also 600 pages or so. I am hoping to find something that would be a faster read to get me going.


    Can anyone recommended some good online resources for these topics? 





    Friday, September 14, 2007 1:22 PM

All replies

  • One resource you could use would be the exemplar, Tangerine, that we just published.  It uses WPF for the presentation layer, but you could still learn how to design a layered app using OOD with it even if you're not targeting WPF.  I recommend reading the Story and Architecture documents; I cover both layering and OOD in them.  They're pretty short (compared to a book), and then you can delve into the source and look at the class diagrams and code for more info.

    Friday, September 14, 2007 3:00 PM
  • Would I have to buy one of the porducts listed for $1490? Is there a charge for the Tangerine product? 

    Friday, September 14, 2007 9:42 PM
  • There is no charge at all for Tangerine.  You can download and use a trial version of NetAdvantage for WPF if you want to see how the presentation layer works, but you don't even need to do that in order to learn from its architecture--you could simply exclude the Presentation layer and focus on the other layers and read the accompanying docs.

    Friday, September 14, 2007 9:50 PM
  • thanks for the help. I want to take a better look at Tangerine.


    Saturday, September 15, 2007 1:16 AM
  • If you want to get you head around MVP pattern you should definitely listen these web casts from Ron Jacobs:

    Part1 , Part2 and Part3

    Also take a look at this article from atomic object here.


    As for layering your application, I really don't think it is absolutley necessary to use MVP in the presentation layer to do so, but layering of course is a good idea.

    You might take a look at Nettiers, which will generate the DAL and data entities for you.

    I hope this was helpful.



    Monday, September 17, 2007 8:38 PM
  • http://DotNetWithMe.blogspot.com
    vikas goyal

    Tuesday, September 18, 2007 9:13 AM
  • I strongly recommend you take a look at Patterns Of Enterprise Application Architecture by Martin Fowler. He discusses many of the common approaches available when structuring your application, with pros and cons for each. In addition, he provides examples in both C# and Java.

    In addition, I'd download and take a look at the Microsoft Software Factories. They provide reference implementations and code automation that you can draw from for your application.

    Here are links to the factories:

    Friday, September 21, 2007 4:22 PM