设计模式
renxhui
android 开发工程师
展开
-
设计模式 -- 代理模式
概述为其他对象 提供一种代理,以控制对这个对象的访问,代理大概分为两类,静态代理和动态代理UML 类图静态代理Subject Subject 定义了RealSubject 和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxypublic interface Subject { void request();}RealSu...原创 2018-08-16 10:02:54 · 162 阅读 · 0 评论 -
设计模式 观察者模式
定义定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知,并自动更新观察者模式的使用场景1 关联行为场景,需要注意的是,关联行为是可拆分的,而不是组合关系2 时间多级触发场景3跨系统的消息交换场景,例如,消息队列,事件总线的处理机制观察者模式的UML图下面来看一下一个小例子老师和同学,同学要订阅老师,然后老师发布作业,同学就自动会收到老师的信息//观察者publ原创 2017-10-18 17:46:30 · 298 阅读 · 0 评论 -
设计模式抽象工厂模式
抽象工厂UML类图上一片我们写了工厂方法模式,我们大致了解了他的运作原理,那么我们具体分析一下工厂方法模式和抽象工厂模式的区别吧工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类一个抽象工厂类,可以派生出多个具体工厂类每个具体工厂类只能创建一个具体产品的实例抽象工厂模式:多个抽象产品类,每个抽象产品可以派生出多个具体产品类一个抽象工厂类,可以派生出多个具体工厂类每个具体工厂类可以创建多个具体原创 2017-10-17 11:46:45 · 208 阅读 · 0 评论 -
设计模式 Build 模式
Builder模式介绍Builder模式是一步一步创建一个复杂对象的创建性模式,他允许用户在不知道内部构建细节的情况下,可以更加准确的控制对象的构造流程,该模式是为了将构建复杂对象过程和他的部件解耦使得构建过程和部件的表示隔离开来Builder 模式的定义将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示Builder 模式的使用场景(1)相同的方法,不同的执行顺序,产生不同事原创 2017-10-13 17:16:58 · 3292 阅读 · 0 评论 -
设计模式 单例模式
定义确保某一个类只有一个实例,而且自行实例化并且向整个系统提供这个实例使用场景确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且一个,例如,创建一个对象需要消耗资源过多,如访问IO和数据库等资源,这时就要考虑单例模式1 饿汉式单例模式public class DanLiDemo { //饿汉单例模式 private static DanLiD原创 2017-10-12 18:11:48 · 251 阅读 · 0 评论 -
面向对象六大原则
面向对象的6大原则:优化代码第一步 - 单一职责原则: 单一职责所表达的用意就是“单一”二字,正如上文所说,如何划分一个类一个函数的职责,每个人都有自己看法,这需要具体经验,和业务逻辑判断,但是,他也有些基本的指导原则,例如,俩个完全不一样的功能就不应该放在一个类中,一个类应该是一组相关性很高的函数,数据的封装,工程师可以不断地审视在自己的代码,根据其具体的业务,功能对类进行拆分,这是程序员迈出优原创 2017-10-11 18:29:13 · 360 阅读 · 0 评论 -
设计模式工厂方法模式
工厂方法模式的介绍工厂方法模式,是创建性设计模式之一,工厂方法模式是一种结构简单的模式,其在我们开发时应用很广泛工厂方法模式的定义定义一个用于创建对象的接口,让子类决定实例化那个类工厂方法模式的使用场景在任何需要生成复杂对象的地方,都可以使用工厂方法模式,复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式工厂方法模式的UML图下面我们用具体的例子来看//抽象产品类public原创 2017-10-16 17:01:14 · 312 阅读 · 0 评论