locked
Which layer to be designed first..Pls Help RRS feed

  • Question

  • Hi,

    Am an aspiring architect. Out of the 4 layers UI, Application, Business and Infrastructure , Please guide me which layer we should start designing first , or can we work on more than one layers at a time..

    Thanks

    Raghu

     

     


    Ace
    Monday, April 12, 2010 10:49 AM

Answers

  • First thing you should identify technologies you will use to build each layer...

    UI - ASP.NET, Windows Forms, Silverlight, etc..

    Business - Workflow, Services

    Data Access - Ado.NET, LINQ, WCF Data services, Entity Framework, etc.

    Infrastructure - Enterprise Library blocks...

    Once you have done this create .NET projects for each layer under one solution

    Now you have multiple options

    1) Start implementing functionality for all layers use case wise.

    OR

    2) Start with Database, Data access layer and then go upwards to Service to UI OR reverse

    This is based on you application, whethere it is UI/Domain driven or Database driven. IF it is UI/Domain driven start with presentation layer and then go down. If it is DB driven and Database model is frozen then you can start with DB, data access and then go upwards.

    Usually i have seen many prefering UI-> Business->Data access (top down) than bottom Up.

    If it is Service driven you can directly start from services layer-> DB and then weave those services into UI layer.

    Build infrasture layer as needed.

    3) Microsoft Software Factory provides you both types of approaches.

    So it completely depends on what kind of app you are building, what is ready to start with, what is most comfortable point to start with, etc..

    hope this helps and not confuse you further.
    Regards

    Suds

     

    • Marked as answer by Devasena_ace Monday, April 12, 2010 2:22 PM
    Monday, April 12, 2010 11:10 AM

All replies

  • I think you need some infrastructure before you can run anything on it.

    But they're all linked.  You need to consider present and future requirements as a whole.  Future ones will probably be vague.

    Monday, April 12, 2010 11:07 AM
  • First thing you should identify technologies you will use to build each layer...

    UI - ASP.NET, Windows Forms, Silverlight, etc..

    Business - Workflow, Services

    Data Access - Ado.NET, LINQ, WCF Data services, Entity Framework, etc.

    Infrastructure - Enterprise Library blocks...

    Once you have done this create .NET projects for each layer under one solution

    Now you have multiple options

    1) Start implementing functionality for all layers use case wise.

    OR

    2) Start with Database, Data access layer and then go upwards to Service to UI OR reverse

    This is based on you application, whethere it is UI/Domain driven or Database driven. IF it is UI/Domain driven start with presentation layer and then go down. If it is DB driven and Database model is frozen then you can start with DB, data access and then go upwards.

    Usually i have seen many prefering UI-> Business->Data access (top down) than bottom Up.

    If it is Service driven you can directly start from services layer-> DB and then weave those services into UI layer.

    Build infrasture layer as needed.

    3) Microsoft Software Factory provides you both types of approaches.

    So it completely depends on what kind of app you are building, what is ready to start with, what is most comfortable point to start with, etc..

    hope this helps and not confuse you further.
    Regards

    Suds

     

    • Marked as answer by Devasena_ace Monday, April 12, 2010 2:22 PM
    Monday, April 12, 2010 11:10 AM
  • Thanks Indeed for all the suggestions.

    Regards

    Devasena

     


    Ace
    Monday, April 12, 2010 2:23 PM