网站
===物理层==
主服务
==物理层==
服务器1 / 服务2 / 服务3 / 服务4
只有服务器1、服务2、服务3和服务4能够访问数据库,并且主服务根据所订购的产品调用正确的服务。每个物理层也都平衡了负载。
现在当我开发新服务时,我试图使用DDD思想来开发,尽管它并不像它适合这样做。我使用良好的DDD原则,如实体、值类型、存储库、聚合、工厂等。
我甚至尝试过使用ORM,但它们似乎并不适用于无状态架构。我知道有办法解决,例如使用IStatelessSession而不是带有NHibernate的ISession。但ORM感觉不适合无状态架构。
我注意到我只使用了DDD教给我的一些概念和模式,但整体的架构仍然是SOA。我开始认为DDD并不适合大型系统,但我认为其中一些模式和概念确实适用于大型系统。
就像我说的,也许我没有完全掌握DDD,或者可能我在过度分析我的设计?也许通过使用DDD教给我的模式和概念,我正在使用DDD?对于这篇文章,可能没有真正的问题,而只是我在思考DDD适用于整体系统的位置以及其真正的可扩展性。事实上,我认为我甚至不知道DDD是什么?
Service.RenameCustomer(ID, Name)
和Customer.Rename(Name)
,它们是如何协同工作的?在更复杂的情况下,即使这两个重复的方法也会有两个不同类的参数,例如NameDTO
和Name
。 - Lightman