上面通过3篇文章的描述,分块介绍了下设计模式在实际项目中的应用,下面对此做一个简要的总结。
大家都知道面向对象的一些核心概念,在此罗列出来以便增强一下对面向对象的认识。
三大特性:封装、继承、多态;
封装:隐藏对象的具体实现,通过公共方法暴露对象的功能
继承:子类继承父类后复用父类的功能,通过子类继承也可以按需扩展父类的功能
多态:同一类的实例的相同方法在不同的情况下有不同的表现形式,一般分为2种:编译时多态(方法重载);运行时多态(继承、方法重写、向上转型)
类与类之间的关系:继承/泛化、实现、依赖、关联、聚合、组合
继承/泛化:子类继承父类
实现:实现类实现接口
依赖:不持有引用,具体表现:局部变量,函数参数
关联:持有引用,具体表现:成员变量, 箭头指向被关联类,可双向,一对多或多对多
聚合:成员变量,关联是处于同一层次的,而聚合则 是整体和局部层次的
组合:与聚合类似,程度更加强烈,一起存在
七大原则:单元原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特原则、组合/聚合复用原则
单一原则:每一个类应该专注于做一件事情。 即:高内聚,低耦合。
开闭原则:一个对象对扩展开放,对修改关闭。即:对类的改动是通过增加代码进行的,而不是修改现有代码。
里氏替换原则:在任何父类出现的地方都可以用它的子类来替代。
依赖倒置原则:要依赖于抽象,不要依赖于具体实现。
接口隔离原则:应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。
迪米特原则:一个对象应当尽量少地与其他对象之间发生相互作用,使得系统功能模块相对独立。
组合/聚合复用原则:尽量使用组合/聚合的方式,而不是使用继承。
多种设计模式:单例、建造者、原型、工厂方法、抽象工厂、适配器、装饰者、组合、桥接、外观、享元、代理、策略、
观察者、迭代器、命令模式、备忘录、中介者、解释器、访问者、责任链、状态。
每种的模式的作用及适用场景,由于内容较多,大家就感兴趣的模式自行查找资料进行学习并加以应用。
回顾下自己在项目中对设计模式的应用,使用部分设计模式来解决项目中的实际问题,
具体用到的模式有:单例、抽象工厂、工厂方法、外观或门面。
为了集中处理权限验证、日志记录等通用功能也应用到了面向切面编程(AOP)的技术。
通过这些技术的应用,可以极大的增强系统对业务变更的应变能力,系统编程的规范化,从而增加系统在业务级别的弹性。
原文地址:https://www.cnblogs.com/maotou/p/design_model.html