
设计模式
张康瑞
翻过这座山,让他们听到你的声音。
展开
-
设计模式__抽象工厂模式
定义:为创建一组相关或者是相互依赖的对象提供一个接口,而不是需要指定他们的具体实现。(就是一个工厂不止生厂一个产品而是几个产品的组合) 场景:工厂模式中我们一个产品在购买状态或是没有购买状态下,还会有UI的不同(主题不同)。对于这两种状态我们会有不同的组合,所以我们的工厂就会对外生产出各种状态不同主题的产品。 状态(产品)基类: public abstract class ViewStat...原创 2019-08-13 23:20:18 · 165 阅读 · 0 评论 -
设计模式__建造者模式
定义: 将一个复杂对象的构建和表示分离,使得他的同一个构建可以有不同的表示。(主要是对产品的封装,强调构建和表示) 适合场景:1. 一个复杂产品,不同方法使用顺序不同,表示不同; 2. 一个产品构建是参数较多; 3. 需要对一个比较复杂的对象进行封装; 接着之前的主题,封装一个主题。主题中的好多方法使用顺序不同,表示不同。...原创 2019-08-21 10:55:50 · 207 阅读 · 0 评论 -
设计模式__工厂模式
定义:工厂模式定义了一个接口,让使用者更简洁,正确的实例化对象。 用处:工厂模式适合较为复杂的对象的创建。但是其实工厂模式没有用的那么模块化,我们平时看到的好多源码就是工厂模式。 例子:在一个产品详情页面,一个产品的状态有好几种,没有购买,购买了。。。我们可以用不同的产品来封装不同的状态,这样这些状太更加整洁,而不是在很多的if-else中凌乱。 先定义一个状态的抽象类,来约束子类封装不...原创 2019-08-13 11:20:20 · 188 阅读 · 0 评论 -
设计模式__代理模式
代理模式:为其他对象提供一种代理以控制对这个对象的访问。 使用场景:当无法或者不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象间接的访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。 例: 现在我们想买一个美国版本的苹果手机,我们得游过太平洋才能到达美国买。很明显,我们对买手机这件事实现有点困难。我们需要一个代购公司帮我们买一下。在这个例子中:...原创 2019-08-30 00:29:32 · 286 阅读 · 0 评论 -
设计模式__单例模式
单例模式:确保一个类只有一个实例,而且自行实例化。 单例模式是我们用的最多的模式,也应该最先了解的模式。它的实现有很多种,我们一一道来,置于使用场景我们在优点中一起分析。在实现单例之前我们首先需要注意以下几点: 1. 构造器私有化-------一个项目只需要一个该类实例,确保不能随便new出一个新实例; 2. 建一个静态方法返回单例类对象--------该项目中可以获得这个类...原创 2019-09-01 18:52:24 · 302 阅读 · 0 评论 -
设计模式__适配器模式
适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使的原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 使用场景:系统需要现有的类,而此类的接口不符合系统的需要,即接口不兼容; 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作; 需要一个统一的...原创 2019-09-04 00:30:44 · 227 阅读 · 0 评论 -
设计模式__策略模式
策略模式: 定义一系列的算法,并将每一个算法封装起来,而且使他们还可以互相替换, 使用场景:1. 针对同一类型的多种处理方式,具体的行为差别; 2. 需要安全地封装多种同一类型的操作时; 3. 同一个抽象类有多个子类,需要if-else或者switch来选择时; 案例:外卖有两种优惠一种是满减,一种是第二次消费减20...原创 2019-09-04 23:37:08 · 242 阅读 · 0 评论