DDD领域驱动:(理论上就是把OOP应用于业务模型 最近再看一本书:Eric Evans <<领域驱动设计>>)
DDD第一原则:将数据和操作结合
DDD第二原则:界限上下文 这是将“单一职责”应用于我们的领域模型
实现:
1、使用通用语言:类、方法、字段的命名 要符合业务,使用业务语言命名,之后再客户或者团队交流更加流畅
2、理解业务:例如做一个理财系统,要亲自去和卖理财产品的人聊聊或者买个理财产品,这样数据库中那些对你毫无意义的字段才变得有血有肉。
充血模型
传统的MVC比较违反充血模型或者说是面向对象编程。比如controller 、service、Repositor,正常service写一些跟sql相关的代码,可能我们的业务模型不是很复杂,所以看起来bo里就是简单的数据,没有任何的方法或操作,,如果是充血模型,我们需要将bo设计成Domain领域模型,将数据和功能面向对象编程
贫血模型
用起来比较简单,容易上手,设计起来比较简单,适合于业务较为简单的场景
常用的设计原则:
1、单一职责原则:
(一个类或者模块只负责一个功能,不要设计大而全的类,要设计细粒度小