你在工作中用过哪些设计模式?
设计模式我们多少都有些了解,但是往往也只是知道是什么。
在真实的业务场景中,你有用过什么设计模式来编写更优雅的代码吗?
我们更多的是每天从产品经理那里接受到新需求后,就开始MVC一把梭,面向sql编程了。
我们习惯采用MVC架构,实时上是非常容易创建很多贫血对象模型,然后写出过程式代码。我们使用的对象,往往只是数据的载体,没有任何逻辑行为。我们的设计过程,也是从ER图开始,以数据为中心进行驱动设计。一个需求一个接口,从controller到service到dao,这样日复一日的CRUD。
什么设计模式?根本不存在的!
今天,我们尝试从常用设计模式(工厂模式、代理模式、模版模式)在CRUD中的可落地场景,希望能给大家带来一些启发。
2.理解设计模式
设计模式(Design pattern),不是前人凭空想象的,而是在长期的软件设计实践过程中,经过总结得到的。
使用设计模式是为了让代码具有可扩展性,实现高聚合、低耦合的特性。
面向对象的设计模式有七大基本原则:
开闭原则(首要原则): 要对扩展开放,对修改关闭
单一职责原则: 实现类要职责单一
里氏代换原则: 不要破坏继承体系
依赖倒转原则: 面向接口编程
接口隔离原则: 设计接口要精简单一
合成/聚合复用原则: 尽量先使用组合或者聚合来实现,其次才考虑使用继承关系来实现
最少知识原则或者迪米特法则: 降低耦合
过去,我们会去学习设计模式的理论,今天,我们尝试从常用设计模式(工厂模式、代理模式、模版模式)在CRUD中的可落地场景,希望能给大家带来一些实战启发。