![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式笔记
NoClay
立志成为一名段子手
展开
-
面向对象的六大原则
面向对象的六大原则1. 单一职责原则一个类应该是一组相关性很高的函数、数据的封装!**eg:**ImageLoader可以拆分为加载图片和缓存两个实现类2. 开闭原则一个类的实现只应该因错误而被修改,新的或者改变的特性应该通过新建不同的类实现,新建的类可以通过继承的方式来重用原类的代码。已存在的实现类对于修改是封闭的,但是新的实现类可以通过复写父类的接口应对变化。或者是对于拓展是开放的,对于修改是封原创 2017-05-24 23:04:34 · 218 阅读 · 0 评论 -
Builder模式
Builder模式模式介绍模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。简单来讲: 当设计一个类的时候,如果它包含复杂的内部成员,那么就推荐使用Builder模式,否则整个构造函数就会过于臃肿,扩展性降低。模式的使用场景相同的方法,不同的执行顺序,产生不同的事件结果时;多个部件或零件,都可以装配到一个对象中,但...原创 2018-02-08 20:11:42 · 145 阅读 · 0 评论 -
原型模式
原型模式模式介绍模式的定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。模式的使用场景类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗;通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式;一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多...原创 2018-02-08 20:27:26 · 145 阅读 · 0 评论 -
面向对象六大原则
面向对象六大原则1. 单一职责原则(Single Responsibility Principle)一个类而言,应该仅有一个引起它变化的原因。一个类中应该是一组相关性很高的函数、数据的封装。简单来讲: 一个类的功能职责应该是单一的,举个栗子,如果要编写一个图片加载器的功能,那么图片加载,和图片缓存等功能点应该分离开,比如专门写一个类负责图片的本地缓存,这样可以降低程序的耦合原创 2018-02-06 20:33:09 · 151 阅读 · 0 评论 -
单例模式
单例模式关键点构造函数不对外开放,一般为private通过一个静态方法或者枚举返回单例类的对象确保单例类的对象有且仅有一个,尤其是在多线程的环境下确保单例类的对象在反序列化时不会重新创建对象懒汉模式public class Singleton { private static Singleton instance = null; private原创 2018-02-06 20:49:05 · 199 阅读 · 0 评论 -
简单工厂模式
简单工厂接口接口是一种特殊的抽象类,跟一般的抽象类相比,接口里的所有方法都是抽象方法,接口里的所有属性都是常量。也就是说接口里面只有方法定义没有任何方法实现。接口的思想是”封装隔离”简单工厂示例代码:https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory客户端在调用的时候,不但知道...原创 2018-02-20 16:32:06 · 164 阅读 · 0 评论