Информатика и вычислительная техника
  • формат pdf
  • размер 7.18 МБ
  • добавлен 19 февраля 2010 г.
Evans Eric - Domain-Driven Design: Tackling Complexity in the Heart of Software
Книга на английском. Переведенный вариант:
Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем


Publisher: Addison Wesley
Pub Date: August 20, 2003
ISBN: 0-321-12521-5
Pages: 560

Specific topics covered include:

Representing processes as domain objects
Creating functions free of side effects
Conceptual contours
Standalone classes
Extending specifications
Applying analysis pattes
Relating design pattes to the model
Maintaining model integrity
Formulating the domain vision statement
Choosing refactoring targets
Responsibility layers
Creating a pluggable component framework
Bringing together large-scale structures and bounded contexts

Table of Contents

Praise for Domain-Driven Design
Foreword
Preface
Contrasting Three Projects
The Challenge of Complexity
Design Versus Development Process
The Structure of This Book
Who Should Read This Book
A Domain-Driven Team
Acknowledgments

Putting the Domain Model to Work
  Crunching Knowledge
 Ingredients of Effective Modeling
 Knowledge Crunching
 Continuous Leaing
 Knowledge-Rich Design
 Deep Models
  Communication and the Use of Language
 Ubiquitous Language
 Modeling Out Loud
 One Team, One Language
 Documents and Diagrams
 Explanatory Models
  Binding Model and Implementation
 Model-Driven Design
 Modeling Paradigms and Tool Support
 Letting the Bones Show: Why Models Matter to Users
 Hands-On Modelers

The Building Blocks of a Model-Driven Design
  Isolating the Domain
 Layered Architecture
 The Domain Layer Is Where the Model Lives
 The Smart UI "Anti-Patte"
 Other Kinds of Isolation
  A Model Expressed in Software
 Associations
 Entities (a.k.a. Reference Objects)
 Value Objects
 Services
 Modules (a.k.a. Packages)
 Modeling Paradigms
  The Life Cycle of a Domain Object
 Aggregates
 Factories
 Repositories
 Designing Objects for Relational Databases
  Using the Language: An Extended Example
 Introducing the Cargo Shipping System
 Isolating the Domain: Introducing the Applications
 Distinguishing ENTITIES and VALUE Objects
 Designing Associations in the Shipping Domain
 AGGREGATE Boundaries
 Selecting REPOSITORIES
 Walking Through Scenarios
 Object Creation
 Pause for Refactoring: An Alteative Design of the Cargo AGGREGATE
 MODULES in the Shipping Model
 Introducing a New Feature: Allocation Checking
 A Final Look

Refactoring Toward Deeper Insight
  Breakthrough
 Story of a Breakthrough
 Opportunities
 Focus on Basics
 Epilogue: A Cascade of New Insights
  Making Implicit Concepts Explicit
 Digging Out Concepts
 How to Model Less Obvious Kinds of Concepts
  Supple Design
 Intention-Revealing Interfaces
 Side-Effect-Free Functions
 Assertions
 Conceptual Contours
 Standalone Classes
 Closure of Operations
 Declarative Design
 A Declarative Style of Design
 Angles of Attack
  Applying Analysis Pattes
 Example
 Eaing Interest with Accounts
 Example
 Insight into the Nightly Batch
 Analysis Pattes Are Knowledge to Draw On
  Relating Design Pattes to the Model
 Strategy (A.K.A.Policy)
 Composite
 Why Not FLYWEIGHT?
  Refactoring Toward Deeper Insight
 Initiation
 Exploration Teams
 Prior Art
 A Design for Developers
 Timing
 Crisis as Opportunity
 

Strategic Design
  Maintaining Model Integrity
 Bounded Context
 Continuous Integration
 Context Map
 Relationships Between BOUNDED CONTEXTS
 Shared Keel
 Customer/Supplier Development Teams
 Conformist
 Anticorruption Layer
 Separate Ways
 Open Host Service
 Published Language
 Unifying an Elephant
 Choosing Your Model Context Strategy
 Transformations
  Distillation
 Core Domain
 An Escalation of Distillations
 Generic Subdomains
 Domain Vision Statement
 Highlighted Core
 Cohesive Mechanisms
 Segregated Core
 Abstract Core
 Deep Models Distill
 Choosing Refactoring Targets
  Large-Scale Structure
 Evolving Order
 System Metaphor
 Responsibility Layers
 Knowledge Level
 Pluggable Component Framework
 How Restrictive Should a Structure Be?
 Refactoring Toward a Fitting Structure
  Bringing the Strategy Together
 Combining Large-Scale Structures and BOUNDED CONTEXTS
 Combining Large-Scale Structures and Distillation
 Assessment First
 Who Sets the Strategy?
 Six Essentials for Strategic Design Decision Making
 Conclusion
 Epilogues
 Looking Forward
Appendix The Use of Pattes in This Book
Patte Name
Похожие разделы
Смотрите также

Handbook of Applied Algorithms: Solving Scientific, Engineering, and Practical Problems

  • формат pdf
  • размер 3.43 МБ
  • добавлен 07 апреля 2009 г.
Discover the benefits of applying algorithms to solve scientific, engineering, and practical problems Providing a combination of theory, algorithms, and simulations, Handbook of Applied Algorithms presents an all-encompassing treatment of applying algorithms and discrete mathematics to practical problems in "hot" application areas, such as computational biology, computational chemistry, wireless networks, and computer vision. In eighteen self-c...

Haridi S., Roy P. Concepts, Techniques, and Models of Computer Programming

  • формат pdf
  • размер 3.43 МБ
  • добавлен 25 января 2012 г.
- Swedish Institute of Computer Science, 2003. - 939 p. This book focus on programming concepts and the techniques to use them, not on programming languages. The concepts are organized in terms of computation models. A computation model is a formal system that defines how computations are done. There are many ways to define computation models. Since this book is intended to be practical, it is important that the computation model should be direc...

Koren B., Vuik K. (Editors) Advanced Computational Methods in Science and Engineering

  • формат pdf
  • размер 19.51 МБ
  • добавлен 08 января 2011 г.
Lecture Notes in Computational Science and Engineering 71. Springer-Verlag Berlin Heidelberg, 2010. 498 р. Contents A Model-Order Reduction Approach to Parametric Electromagnetic Inversion R.F. Remis and N.V. Budko Shifted-Laplacian Preconditioners for Heterogeneous Helmholtz Problems C.W. Oosterlee, C. Vuik, W.A. Mulder, and R. -E. Plessix On Numerical Issues in Time Accurate Laminar Reacting Gas Flow Solvers S. van Veldhuizen, C. Vui...

Tiako P.F. Software Applications concepts methodologies tools and applications premier refence source

  • формат pdf
  • размер 44.31 МБ
  • добавлен 19 ноября 2009 г.
Publisher: Information Science Publishing Publication: 2009, English ISBN: 9781605660608 Pages: 3994 Numerous technological advancements have overwhelmingly redesigned and improved countless aspects of computer software applications, creating tools and functions that greatly benefit its users. Software Applications: Concepts, Methodologies, Tools, and Applications contains an impressive collection of over 300 authoritative contributions from top...

Vocking B., Alt H., Dietzfelbinger M., Reischuk R., Scheideler C., Vollmer H., Wagner D. Algorithms Unplugged

  • формат pdf
  • размер 10.76 МБ
  • добавлен 11 августа 2011 г.
Springer, 2011. - 416 p. Algorithms specify the way computers process information and how they execute tasks. Many recent technological innovations and achievements rely on algorithmic ideas - they facilitate new applications in science, medicine, production, logistics, traffic, communi cation and entertainment. Efficient algorithms not only enable your personal computer to execute the newest generation of games with features unimaginable only a...

Weston P. Bioinformatics Software Engineering: Delivering Effective Applications

  • формат pdf
  • размер 1.19 МБ
  • добавлен 02 марта 2011 г.
John Wiley & Sons Ltd, 2004. 125 р. ISBN 0 470 85772 2 (на английском языке) Contents Preface List of ?gures Acknowledgements Part 1 Introduction What You Need to Know What Is Software Engineering? Part 2 Before Beginning Project De?nition Requirements Capture Separating Function, Interface and Implementation Implementation Considerations Proof of Concept, Prototyping and Buy-in Explaining the development process with prototypes...