Domain-driven design (original) (raw)
Domain-driven Design (DDD) ist eine Herangehensweise an die Modellierung komplexer Software. Die Modellierung der Software wird dabei maßgeblich von den umzusetzenden der Anwendungsdomäne beeinflusst. Der Begriff „Domain-driven Design“ wurde 2003 von Eric Evans in seinem gleichnamigen Buch geprägt.
Property | Value |
---|---|
dbo:abstract | Domain-driven Design (DDD) ist eine Herangehensweise an die Modellierung komplexer Software. Die Modellierung der Software wird dabei maßgeblich von den umzusetzenden der Anwendungsdomäne beeinflusst. Der Begriff „Domain-driven Design“ wurde 2003 von Eric Evans in seinem gleichnamigen Buch geprägt. (de) Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. Under domain-driven design, the structure and language of software code (class names, class methods, class variables) should match the business domain. For example, if software processes loan applications, it might have classes like LoanApplication and Customer, and methods such as AcceptOffer and Withdraw. Domain-driven design is predicated on the following goals: * placing the project's primary focus on the core domain and domain logic; * basing complex designs on a model of the domain; * initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems. Criticisms of domain-driven design argue that developers must typically implement a great deal of isolation and encapsulation to maintain the model as a pure and helpful construct. While domain-driven design provides benefits such as maintainability, Microsoft recommends it only for complex domains where the model provides clear benefits in formulating a common understanding of the domain. The term was coined by in his book of the same title published in 2003. (en) La conception dirigée par le domaine (ou DDD, de l'anglais domain-driven design) est une approche de la conception logicielle fondée sur deux principes : * les conceptions complexes doivent être basées sur une modélisation[pas clair] ; * l'accent doit être sur le domaine et la logique associée. (fr) Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. domain-driven design, DDD) — это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом. Предметно-ориентированное проектирование не является какой-либо конкретной технологией или методологией. DDD — это набор правил, которые позволяют принимать правильные проектные решения. Данный подход позволяет значительно ускорить процесс проектирования программного обеспечения в незнакомой предметной области. Подход DDD особо полезен в ситуациях, когда разработчик не является специалистом в области разрабатываемого продукта. К примеру: программист не может знать все области, в которых требуется создать ПО, но с помощью правильного представления структуры, посредством предметно-ориентированного подхода, может без труда спроектировать приложение, основываясь на ключевых моментах и знаниях рабочей области. Данный термин был впервые введен Э. Эвансом в его книге с таким же названием «Domain-Driven Design». (ru) |
dbo:wikiPageExternalLink | https://domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf https://www.codeproject.com/Articles/1055514/Aggregate-Root-Pattern-in-Csharp http://www.methodsandtools.com/archive/archive.php%3Fid=97 |
dbo:wikiPageID | 14272455 (xsd:integer) |
dbo:wikiPageLength | 13406 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1122746743 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Value_object dbr:.NET_Framework dbr:Object-oriented_analysis_and_design dbr:Optimistic_concurrency_control dbr:Plain_Old_CLR_Object dbr:CQRS dbc:Software_design dbr:Data_mesh dbr:Domain-specific_language dbr:Domain-specific_modeling dbr:Domain-specific_multimodeling dbr:Domain_(software_engineering) dbr:Restful_Objects dbr:Actifsource dbc:Software_architecture dbr:CubicWeb dbr:Eclipse_(software) dbr:Event_storming dbr:Model–view–controller dbr:Eric_Evans_(technologist) dbr:Greg_Young dbr:Knowledge_representation dbr:Java_(programming_language) dbr:Java_EE dbc:Software_development_philosophies dbr:Software_design dbr:Aspect-oriented_programming dbr:Automatic_programming dbr:Business_domain dbr:Class_method dbr:Class_variable dbr:Domain_expert dbr:Domain_layer dbr:Identity_(object-oriented_programming) dbr:Object-oriented dbr:Ontology_(information_science) dbr:OpenMDX dbr:Semantic_networks dbr:Model-driven_architecture dbr:Model-driven_engineering dbr:Semantic_analysis_(knowledge_representation) dbr:Semantics dbr:Service_(systems_architecture) dbr:Factory_(object-oriented_programming) dbr:Immutable_object dbr:Multilayered_architecture dbr:Event_store dbr:Naked_objects dbr:Java_SE dbr:Plain_Old_Java_Objects dbr:Command_Query_Responsibility_Segregation dbr:Common_layers_in_an_information_system_logical_architecture |
dbp:wikiPageUsesTemplate | dbt:Citation dbt:More_citations_needed dbt:Multiple_issues dbt:Reflist dbt:Short_description dbt:Tone dbt:Software_development_process |
dct:subject | dbc:Software_design dbc:Software_architecture dbc:Software_development_philosophies |
gold:hypernym | dbr:Approach |
rdf:type | yago:WikicatSoftwareDevelopmentPhilosophies yago:Abstraction100002137 yago:Belief105941423 yago:Cognition100023271 yago:Content105809192 yago:Doctrine105943300 yago:PsychologicalFeature100023100 dbo:ProgrammingLanguage |
rdfs:comment | Domain-driven Design (DDD) ist eine Herangehensweise an die Modellierung komplexer Software. Die Modellierung der Software wird dabei maßgeblich von den umzusetzenden der Anwendungsdomäne beeinflusst. Der Begriff „Domain-driven Design“ wurde 2003 von Eric Evans in seinem gleichnamigen Buch geprägt. (de) La conception dirigée par le domaine (ou DDD, de l'anglais domain-driven design) est une approche de la conception logicielle fondée sur deux principes : * les conceptions complexes doivent être basées sur une modélisation[pas clair] ; * l'accent doit être sur le domaine et la logique associée. (fr) Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts. Under domain-driven design, the structure and language of software code (class names, class methods, class variables) should match the business domain. For example, if software processes loan applications, it might have classes like LoanApplication and Customer, and methods such as AcceptOffer and Withdraw. Domain-driven design is predicated on the following goals: The term was coined by in his book of the same title published in 2003. (en) Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. domain-driven design, DDD) — это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом. Данный термин был впервые введен Э. Эвансом в его книге с таким же названием «Domain-Driven Design». (ru) |
rdfs:label | Domain-driven Design (de) Domain-driven design (en) Conception pilotée par le domaine (fr) Предметно-ориентированное проектирование (ru) |
owl:sameAs | freebase:Domain-driven design yago-res:Domain-driven design wikidata:Domain-driven design dbpedia-de:Domain-driven design dbpedia-fr:Domain-driven design dbpedia-gl:Domain-driven design dbpedia-ru:Domain-driven design https://global.dbpedia.org/id/5mUK5 |
prov:wasDerivedFrom | wikipedia-en:Domain-driven_design?oldid=1122746743&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Domain-driven_design |
is dbo:wikiPageDisambiguates of | dbr:DDD |
is dbo:wikiPageRedirects of | dbr:Domain-Driven_Design dbr:Domain-Driven_design dbr:Domain_Driven_Design dbr:Domain_driven_design dbr:Domain_object dbr:Domain_objects dbr:Model_Object |
is dbo:wikiPageWikiLink of | dbr:Behavior-driven_development dbr:DDD dbr:Value_object dbr:Information_oriented_software_development dbr:Jakarta_Persistence dbr:Object-oriented_analysis_and_design dbr:Specification_pattern dbr:Object_model dbr:Programming_complexity dbr:Command–query_separation dbr:Felienne_Hermans dbr:Domain-Driven_Design dbr:Domain-Driven_design dbr:Microservices dbr:1C:Enterprise dbr:1C_Company dbr:Data,_context_and_interaction dbr:Data_mesh dbr:Domain-specific_modeling dbr:Domain_(software_engineering) dbr:Domain_engineering dbr:Domain_model dbr:GRASP_(object-oriented_design) dbr:Eric_Evans dbr:Agile_software_development dbr:Akka_(toolkit) dbr:Event_storming dbr:Anemic_domain_model dbr:Form_follows_function dbr:Aggregate dbr:Hi/Lo_algorithm dbr:Aspect-oriented_programming dbr:Business-driven_development dbr:Domain_Driven_Design dbr:Domain_driven_design dbr:Domain_object dbr:Domain_objects dbr:Identity_(object-oriented_programming) dbr:OpenMDX dbr:Service-oriented_modeling dbr:Model-driven_architecture dbr:Model-driven_engineering dbr:Secure_by_design dbr:Service-oriented_architecture dbr:Single_source_of_truth dbr:Specification_by_example dbr:List_of_software_architecture_styles_and_patterns dbr:List_of_software_development_philosophies dbr:Naked_objects dbr:Model_Object |
is foaf:primaryTopic of | wikipedia-en:Domain-driven_design |