有一个号称是DDD的框架：bastion,其作者的博客有些内容比较有意思,注意加粗部分 A domain should be ever-expanding, it knows no boundaries. Changes in requirements should lead to additions, not changes to the domain. A domain should always be live, always active. A domain should be able to execute business processes dynamically. As business processes change continually, a dynamic domain model is a better way to support them than a process model, which is static. A domain should have no infrastructural dependencies (e.g. persistence, authentication, logging). Instead, it is surrounded by adapters listening to events happening in the domain. Adapters handle these events by calling on external services. As these services are independent of the domain, they can be made generic and therefore reusable between domains. A domain should be modelled using the time-inversion pattern and the active-passive pattern. That is: start modelling behaviour at the end of the process (in the spirit of demand chain management), and model passive objects in the real world as active ones in the domain model.