目录
1、面向对象设计原则
| 设计原则名称 | 定 义 | 原则要求 |
| 单一职责原则 | 一个类只负责一个功能领域中的相应职责 | 【类职责单一】 |
| 开闭原则 | 软件实体应对扩展开放,而对修改关闭 | 【对扩展开放,对修改关闭】 |
| 里氏代换原则 | 所有引用基类对象的地方能够透明地使用其子类的对象 | 【不要破坏继承体系】 |
| 依赖倒转原则 | 抽象不应该依赖于细节,细节应该依赖于抽象 | 【面向接口编程】 |
| 接口隔离原则 | 使用多个专门的接口,而不使用单一的总接口 | 【接口要精简单一】 |
| 合成复用原则 | 尽量使用对象组合,而不是继承来达到复用的目的 | 【优先使用组合或者聚合关系复用,少用继承关系复用】 |
| 迪米特法则 | 个软件实体应当尽可能少地与其他实体发生相互作用 | 【降低耦合度】 |
设计模式的类型
创建型
1、工厂模式
简单解读:
2、单例模式
单例模式的优势
模式:
简单解读:
应用场景
1、Web应用的配置对象的读取,一般也应用单例模式,这个是由于配置文件是共享的资源
2、数据库连接池
3、多线程的线程池
4、HttpApplication 也是单位例的典型应用
特点:资源共享
3、原型模式
4、构建者模式
结构型
1、适配器模式
类适配器
1、有一个Source类,拥有一个方法,待适配,
2、目标接口是Targetable,原类方法定义 + 新方法
3、通过Adapter类,将Source的功能扩展到Targetable里,(适配类继承SOurce ,然后实现Targetable接口,实现新方法,这样就适配了原始方法)
对象适配器
与类适配器相似,第三步修改
3、只是将Adapter类作修改,这次不继承Source类,而是持有Source类的实例。
接口适配器
接口的适配器是这样的:有时我们写的一个接口中有多个抽象方法,当我们写该接口的实现类时,必须实现该接口的所有方法,这明显有时比较浪费,因为并不是所有的方法都是我们需要的,有时只需要某一些,此处为了解决这个问题,我们引入了接口的适配器模式,借助于一个抽象类,该抽象类实现了该接口,实现了所有的方法,而我们不和原始的接口打交道,只和该抽象类取得联系,所以我们写一个类,继承该抽象类,重写我们需要的方法就行。
2、装饰者模式
简单解读
装饰模式就是给一个对象增加(装饰)一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,
模式
1. 需要扩展一个类的功能。
2. 动态的为一个对象增加功能,而且还能动态撤销。
3、代理模式
代理模式就是多一个代理类出来,替原对象进行一些操作。代理又分为动态代理和静态代理
代理模式与装饰者模式区别:
装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话 说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
7万+

被折叠的 条评论
为什么被折叠?



