设计模式笔记
会飞的鱼101
天高路远,唯勤补拙
展开
-
设计模式总结
简单工厂模式 策略模式 定义算法家族,分别封装起来,相互替换。单一职责 一个类仅有一个引起它变化的原因 开发封闭原则 类 模块 可以扩展不能改变 依赖倒转原则 抽象不应该依赖细节,细节应该依赖抽象 里氏替换原则 子类能够替换父类装饰模式 动态的给一个对象添加一些额外的职责代理模式 为其他对象提供一种代理以控制对这个对象的访问 作用于 1,远程代理 2 虚拟代理原创 2017-03-18 10:46:36 · 179 阅读 · 0 评论 -
责任链模式
模式的定义一个请求沿着一条“链”传递,直到该“链”上的某个处理者处理它为止。模式的使用场景一个请求可以被多个处理者处理或处理者未明确指定时。转载 2017-03-11 11:53:05 · 153 阅读 · 0 评论 -
观察者模式
首先在Android中,我们往ListView添加数据后,都会调用Adapter的notifyDataChanged()方法,其中使用了观察者模式。当ListView的数据发生变化时,调用Adapter的notifyDataSetChanged函数,这个函数又会调用DataSetObservable的notifyChanged函数,这个函数会调用所有观察者(AdapterDataSetObserve转载 2017-03-11 11:52:39 · 171 阅读 · 0 评论 -
简单工厂
接口接口是一种特殊的抽象类,跟一般的抽象类相比,接口里的所有方法都是抽象方法,接口里的所有属性都是常量。也就是说接口里面只有方法定义没有任何方法实现。接口的思想是”封装隔离”简单工厂示例代码: https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory客户端在调用的时候,不但知道了接口,同时还知道了具体的实现。接口的思转载 2017-03-11 11:51:59 · 152 阅读 · 0 评论 -
策略模式
模式的定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。注:针对同一类型操作,将复杂多样的处理方式分别开来,有选择的实现各自特有的操作。模式的使用场景针对同一类型问题的多种处理方式,仅仅是具体行为有差别时。 需要安全的封装多种同一类型的操作时。 出现同一抽象多个子类,而又需要使用if-else 或者 switch-cas转载 2017-03-11 11:51:07 · 192 阅读 · 0 评论 -
常见的面向对象设计原则
1.单一职责原则 SRP 一个类应该仅有一个引起它变化的原因。 2.开放关闭原则 OCP 一个类应该对外扩展开放,对修改关闭。 3.里氏替换原则 LSP 子类型能够替换掉它们的父类型。 4.依赖倒置原则 DIP 要依赖于抽象,不要依赖于具体类,要做到依赖倒置,应该做到: 高层模块不应该依赖底层模块,二者都应该依赖于抽象。 抽象不应该依赖于具体实现,具体实现应该依赖于抽象。 接口隔离原则转载 2017-03-11 11:50:18 · 190 阅读 · 0 评论 -
外观模式
定义为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。转载 2017-03-11 11:49:04 · 142 阅读 · 0 评论 -
原型模式
模式介绍模式的定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。模式的使用场景类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗; 通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式; 一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。 A转载 2017-03-11 11:48:15 · 219 阅读 · 0 评论 -
单例模式
定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。转载 2017-03-11 11:47:22 · 148 阅读 · 0 评论 -
代理模式
模式介绍代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象转载 2017-03-11 11:44:42 · 156 阅读 · 0 评论 -
建造者模式
建造者模式转载 2017-03-11 11:43:42 · 136 阅读 · 0 评论 -
适配器模式
定义:将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 功能:进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。在适配器里实现功能,这种适配器称为智能适配器。 优点:更好的复用性 更好的扩展性 缺点:过多的使用适配器,会让系统非常零乱,不容易整体进行把握。 本质:转换匹配,复用功能。何时选用适配器模式:如果你想要使用一个转载 2017-03-11 11:53:45 · 171 阅读 · 0 评论