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