Yaron Naveh
Yaron Naveh

Reputation: 24406

When is domain-driven design adequate?

Most books about DDD talk about aligning the tech to the business. So you have orders and payment business rules and such.

What if I write a technological applicaiton. For example if I author a visual studio like app. Is DDD not relevant, or can I say that my domain is "application development" and identify the players ("solution", "file") and business rules so I can apply DDD.

Upvotes: 3

Views: 237

Answers (5)

Adrian K
Adrian K

Reputation: 10215

What you have here is simply a case of where the business domain is technical; that's no reason to not use DDD.

In some ways this makes it easier - because you're automatcially a Suibject Matter Expert (SME) in "the business" domain in question.

In other ways it'll be harder - you may find that terminology "collides".

For example, if you're modelling the system you may have technical terms modelled as though they were business ones. We've all seen class diagrams with entities called "Customer" and so on; but having an entitiy called "Class" would quickly lead to problems - especially if you want to use that to generate code.

Upvotes: 2

Rui Curado
Rui Curado

Reputation: 949

When we develop something, there's always a purpose in that, a target. That target is your domain.

In this case, you are going to develop an IDE. You need to think about how to solve the problem of "developing applications". That's your domain.

You doubts come from the fact that "software development" is not used as an example in DDD.

Upvotes: 0

Arseny
Arseny

Reputation: 7351

DDD is suitable for large appications. I guess your IDE will be large enough. Probably you will not need repository patterns but rest(value objects, entities, services) will be presented.

Upvotes: 0

Ian Johnson
Ian Johnson

Reputation: 2254

The domain of your technological application should be aligned to the language how the users of the system will talk about it. So with a development tool you may have projects, files, properties etc

Upvotes: 1

Vladimir Georgiev
Vladimir Georgiev

Reputation: 631

Domain Driven Design is almost always adequate. Go for it. :) Also it may be a good idea to look at some IDE implementations like http://www.sharpdevelop.net

Upvotes: 0

Related Questions