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 4124200
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T23:42:36+00:00 2026-05-20T23:42:36+00:00

I have been reading this ebook about DDD and it says that only highly

  • 0

I have been reading this ebook about DDD and it says that only highly complex systems are suited for DDD architecture. This leads me to second guess my decision to move more towards DDD as my architecture.

I am converting a classic ASP application over to .NET section by section. It includes a robust product categorization scheme and shopping cart which gets ~100-200 orders per day, and a video section similar to YouTube (videos and social features like rating, commenting, etc.). Since I have converted it into chunks, I want to treat each area of the site as a separate project.

The site continuously gets new features and needs to be easy to maintain and update.

Right now I am just using a basic homemade ADO.NET DAL with BLL and DTOs that act as a common layer.

Would it be better to go with a different architecture than DDD for this project? I am new to architecture and want to use some sort of pattern as a guide that I can follow throughout the conversion process to avoid the dreaded spaghetti anti-pattern.

If not DDD, then what? Still trying to find a good direction. It needs to be fast and easy for me to get started without being a complete expert as I am still learning.

  • 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-05-20T23:42:36+00:00Added an answer on May 20, 2026 at 11:42 pm

    DDD is not an architecture.

    It’s a philosophy of design, you cannot just rename all your FooDAO’s to FooRepositiories, throw in an Anti-Corruption Layer and call it DDD.

    It stands for Domain Driven Design. It puts a focus on the models that you use to solve problems in your specific domain. What Eric Evans is suggesting is that if your site is simply a form to join a mailing list there’s no reason to spend days in front of whiteboard playing with models. It’s my opinion if there’s only a single context in your domain you don’t need DDD. More on that in a bit.

    There’s a famous quote:

    “There are only two hard problems in Computer Science: cache invalidation and naming things.” — Phil Karlton

    And DDD does have patterns to address these. It offers ubitiquous language as pattern to tackle naming, and it offers the oft misunderstood collection of patterns: Repository, Aggregate, Entity, and Value Object to tackle model consistency (which I will lump cache invalidation into and won’t cover further here).

    But I would say most importantly it adds a critical 3rd item (not off by 1 problems):

    Where to put stuff

    Where to put code and logic. For me, the most fundamental concept in DDD is that of context. Not all problems are best served by the same model, and knowing where one context ends and another begins is a critical first step in DDD.

    For instance, at my company we work with Jobs, Jobseekers and Recruiters. The world of a jobseeker is very different from the world of a recruiter and they both look at a Job differently. As an example, In the world (context) of Recruiters they can post a job and say

    I want to make this job available in New York, Austin, and San Fran.

    In OO speak: One Job has one or many Locations.

    In the world of the jobseeker a job in LA is not the same job as a job in Boston. Nevermind if they are the same position at the same company. The difference in physical location is meaningful to the the jobseeker. While the recruiter wants to manage all Widget Manager jobs from a single place even if they are spread out around the country, a Jobseeker in New York does not care if the same position is also available in Seattle.

    So the question is? How many Locations should a Job have? One or Many?

    The DDD answer is both. If you’re in the context of jobseeker then a job has only one location, and if you’re a recruiter in that context a job can have many locations.

    The Jobseeker context is wholly separate from the Recruiter Context and they should not necessarily share the same model. Even if in the end of the day all the jobs end up in the same DB (another context itself perhaps), sharing models between contexts can make a model a jack of all trades and master of none.

    Now this example is very specific to the Domain of recruitment and jobseeking. It has nothing to do with Entity Framework of ADO or MVC or ASP. DDD is framework agnostic.

    And it is DDD heresy to claim that framework A or B makes your architecture DDD. The whole point of DDD is that a model should serve the needs of a specific Context within a particular Domain. Frameworks can only support that and make it possible, they cannot do:

    $ dddonrails new MyDDDApplication
    $ dddonrails generate context ContextA
    $ dddonrails generate context ContextB
    $ dddonrails generate model Widget ContextA
    $ dddonrails generate model Widget ContextB
    $ dddonrails start
    

    To specifically address the question, “To DDD? Or not to DDD?” The good news is you don’t have to decide at the onset, “This is going to be a DDD project!” DDD requires no toolset other than the willingness to think hard about the problems you’re trying to solve and ask is my code helping or hurting me?

    The bad news is DDD requires a serious commitment to look at and challenge your design, asking every day “Is this model making the problems in this context as easy as possible?”

    But separate the somewhat tactical and practical concerns of what presentation framework (MVC or no MVC) and persistence framework (Entity Framework?) from the task of modeling your business domain. If you want to start now, think about what contexts are in your app. Some questions to ask:

    • Are multiple areas of the application solving different problems with the same basic data?
    • How many teams work on the app?
    • How do they integrate with each other?

    Mapping these out is called Drawing a Context Map and it’s an important first step to starting to do DDD.

    I encourage you to checkout the ddd website for more. There’s some good eric evans videos on qcon too. You may also want to read the Eric Evans’ book Domain Driven Design, he has many more examples.

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

Sidebar

Related Questions

I have been reading all over the web about this and still can't understand
I have been reading so many topics here about this, but I could not
This is a simple filter that I have been using for a project reading
I have been reading this link from Steven Sanderson about mobile web development http://www.asp.net/learn/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application
I have been reading about this but I have to do some thing. I
I have been reading a lot about this - I feel like I'm very
I have been reading about this Sony vs GeoHot case. I however don't understand
I have been reading up on this, and it seems that if you use
I have been reading this query now for about 20 minutes and I cannot
I have been reading about how to build plug-ins and this MIME type keeps

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.