Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8028705
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T00:12:21+00:00 2026-06-05T00:12:21+00:00

Architecture Design Looking for some suggestions for a new architecture that I am putting

  • 0

Architecture Design

Looking for some suggestions for a new architecture that I am putting together.

Tools to use:

  • MVC 4 (If you have an example for MVC 3 it would suffice)
  • Entity Framework 4.1 (EF)
  • Repository Pattern
  • Unit of Work
  • POCO’s (T4 auto generated)
  • WCF (For CRUD functions. Retrieve data using concrete service classes)
  • Dependency Injection (Ninject)
  • Mocking (Moq)

Any other good tools let me know.

Firm on using EF for ORM with NHibernate being a second go to if EF proves unworthy.

What I have done so far

1) Presentation Project (MVC4, DI For services, Service Channel setup, View Models) -> references Domain Project (2)

2) Domain Project (POCO Entities, Domain Objects, Service Interface) -> References Business Project (3)

3) Business Project (WCF Service, Concrete Service Classes, Unit of Work) -> References Data Project(4)

4) Data Project (EF, Context + .edmx, Repositories and their interfaces) -> Looks at database

Question 1: Is this a good project breakdown?
Question 2: Is this a good place to put any of the mentioned items in the parentheses?
Question 3: Is there anything that should be somewhere that I have entirely left out?

A few side notes:
We have large record sets that we retrieve that easily exceed 100,000 records. Rather than going through a WCF service we are just calling a concrete service class that will increase performance. We topped out the max message size plus it took twice as long to retrieve records through WCF.

Question 4: Is there a better method to go about doing this? Performance is key. Reusability is not

Domain objects have a single attribute which is whatever POCO that it corresponds to. Example: I have a domain object called “Order”. It has a single attribute of “OrderPOCO” which holds all of the attributes. The domain object then has validation methods and references the necessary CRUD functions.

Question 5: Where should complex validation such as “does this record already exist” be placed? Can it just be done in the service itself?

Question 6: Are Domain object even necessary? Most other examples don’t have domain models if they are using POCO’s from what I can tell. Just a little confused on the idea.

Sorry this is very long. Any answer will be greatly appreciated but a comprehensive answer will be exponentially more helpful. We can pick tools to do different things but making them work together correctly is the hard part.

Criticism welcome!

Thank you all

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-05T00:12:22+00:00Added an answer on June 5, 2026 at 12:12 am

    Question 1, 2 and 3:
    I’ve often seen architecture layouts containing only three layers. But if you want to keep your Domain Project layer and Business Project layer seperated and decoupled, so you can change one without affecting the other you should of course keep them in seperate assemblies. However POCO entities, unit of work and concrete service implementations are often very closely related to the domain and to the business rules of your application, so you could consider merging these two layers into one assembly.

    I would move the reposiroty interfaces up in the businnes layer, remove the reference from busines layer to data layer, and have the UI layer reference the data layer instead. The UI layer then constructor injects the concrete repostiories into the domain/business layer. This keeps your domain/business layer clean of references to the technology dependent data assembly.

    Question 4:
    If performance is important, I would just call the concrete service classes.

    Question 5:
    I’m not sure what you mean by “complex validation”.

    Question 6:
    EF can auto-generate the POCOs for you and place them in another assembly than the .edmx. See this article. This way your POCOs only depend on the T4 template and are not hard coupled to the EF.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I’m trying to reevaluate our n-layer architecture and would love to get some suggestions
I've been looking for some time now for detailed design documents describing the architecture
I'm looking for a python project to use as example to copy the design
Where can I find Pentaho Kettle architecture? I'm looking for a short wiki, design
I'm trying to design the architecture for a new LOB MVVM project utilising Caliburn
I have an MVC architecture, but when I try to make another TabPanel insite
I have some questions about three tier architecture. how to implement an application in
I am in the design phase of writing a new Windows service application that
I am looking at putting together a communications protocol for an embedded application, but
These days I am trying to design architecture of a new MMORPG mobile game

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.