设计模式
一个混子
这个作者很懒,什么都没留下…
展开
-
设计模式07-代理模式
简介: 代理模式属于结构性设计模式,使用一个类代理另一个类的功能,目的是为了将客户端与调用层进行隔离。 类图分析: HttpRequest: 是一个接口类,定义了get()与post()两个方法 XUtilHttpRequest:实现了HttpRequest的两个方法,在方法内部使用了XUtil框架进行网络请求。 VolleyHttpRequest: 实现了HttpRequest的两个方法,在...原创 2019-12-31 16:41:32 · 103 阅读 · 1 评论 -
设计模式06-原型模式
一、介绍 用原型的实例指定创建的种类,并通过拷贝这些原型创建新的对象 保护最原始的那一份存档,隐藏复制过程 二、类图分析 Client:使用类 Person:用户类,包含很多用户信息 原型模式的类图非常简单,只有两个类。Person是包含许多用户信息的类,Client类持有Person类的引用,但是Person对象非常重要,不能直接操作Person对象,所以要调用Person的clone()方法创...原创 2019-11-08 13:59:37 · 113 阅读 · 0 评论 -
设计模式05-单例模式
一、介绍 在程序运行期间确保某个类只有一个对象 二、饿汉式 tip:非常饿,所以要快速创建 public class HungrySingle{ private static HungrySingle instance = new HungrySingle(); private HungrySingle(){ } public static HungrySingle g...原创 2019-11-06 15:32:31 · 101 阅读 · 0 评论 -
设计模式04-建造者模式
一、介绍 建造者模式是用于生产复杂对象,将复杂对象的创建与表示分离。 二、类图分析 Room:具体的产品 IBuilder:抽象建造者 WorkBuilder:具体的建造者 Company:指挥者,指挥建造者创建对象 用户找装修公司装修房子,装修公司(指挥者)制定装修方案(抽象建造者)并找了装修工人(具体建造者),装修工人对房子(具体的产品)进行装修。 三、代码实现 public class R...原创 2019-11-05 16:05:22 · 128 阅读 · 0 评论 -
设计模式03-抽象工厂
一、介绍 抽象工厂属于创建型模式,它的特点是将创建方法延迟到子类,每个工厂可以生产多个产品。 二、类图分析 IViewFactory:父工厂,视图工厂的顶层接口类 AndroidViewFactory:具体工厂类,生产android相关的视图 IOSViewFactory:具体工厂类,生产IOS相关的视图 IButton:父产品,button的接口类 ITextView:父产品,与IButton...原创 2019-11-04 14:47:15 · 128 阅读 · 1 评论 -
设计模式02-工厂方法
一、介绍 工厂方法属于创建型模式,它的特点是将创建方法延迟到子类,由子类工厂决定创建什么产品。 二、类图分析 Client:用户类 PayApi:父产品,支付api的顶层接口类 AliPayApi:子产品,实现了PayApi接口方法的类 WechatPayApi:子产品,实现了PayApi接口方法的类 PayApiFactory:父工厂,一个抽象类,子类需要重写createPayApi()方法去...原创 2019-10-31 14:10:42 · 92 阅读 · 0 评论 -
设计模式01-简单工厂
一、介绍 工厂模式属于创建型模式,它的特点是 “对象的创建及使用分离”,用户不需要操心对象的创建。 简单工厂模式不是标准的设计模式,但是由于编码简单,所以日常使用较多。 二、类图分析 Api:一个接口类,只有operator()一个方法 ImplA与ImplB:Api接口类的实现类 ApiFactory:工厂类,通过传入的类型分别创建不同的Api类并返回 Client:使用类,通过调用ApiFa...原创 2019-10-30 17:11:27 · 158 阅读 · 0 评论