随笔分类 -  设计模式

摘要:1.介绍: 在模板方法模式中,一个算法可以分多个步骤,这些步骤的执行顺序是在另外一个方法中的,这个方法被称为模板方法。同时,每个步骤也对应一个方法,这些方法被称为基本方法。模板方法会按照它定义的顺序一次调用多个基本方法。在这个过程中,会将模板方法的实现和哪些固定不变的基本方法的实现放在父类中,而那些 阅读全文
posted @ 2018-09-14 13:42 51life 阅读(191) 评论(0) 推荐(0)
摘要:抽象工厂模式的目的是提供一个创建一系列相关或者相互依赖的对象的接口,而无需指定他们具体的类。 代码实现: 为形状创建一个接口: 创建Shape接口的实现类: 为颜色创建一个接口: 创建Color的实现类: 为Shape和Color创建抽象类工厂来获取对象 创建实现了AbstractFactory的工 阅读全文
posted @ 2018-09-10 09:43 51life 阅读(230) 评论(0) 推荐(0)
摘要:工厂方法模式是对简单工厂模式的进一步解耦,在工厂方法模式中,一个具体的产品类对应一个工厂类,这些工厂类都是实现同一个工厂接口。可以理解为一个工厂只生产一种产品。还是拿水果举例:在简单工厂模式中,一家水果店卖好几种水果,但在工厂方法模式中,一家水果店只能卖一种水果,比如苹果店只卖苹果,橘子店只卖橘子。 阅读全文
posted @ 2018-09-07 16:41 51life 阅读(188) 评论(0) 推荐(0)
摘要:咱们以水果为例介绍简单工厂模式 创建一个水果接口: 创建Apple类(具体产品类): 创建Orange类(具体产品类): 创建Banana类(具体产品类): 现在水果都准备好了,再来一家水果店SimpleFruitFactory(简单工厂类): 好了,假如现在有顾客说要买橘子,怎么办呢?看下面代码: 阅读全文
posted @ 2018-09-07 16:08 51life 阅读(177) 评论(0) 推荐(0)
摘要:1 介绍: 1.1 概念:装饰器模式允许向一个现有的对象添加新功能,同时又不改变其结构。这种模式创建了一个装饰类,来包装原有的类,在保证方法签名完整的情况下,添加了额外的功能。 1.2 优缺点: 优点:装饰类和被装饰类独立发展,互不影响,装饰器模式是继承的一个很好的代替模式,可以很好的扩展一个实现类 阅读全文
posted @ 2018-09-07 15:18 51life 阅读(157) 评论(0) 推荐(0)
摘要:一 适用场景:产品类非常复杂或者产品类中的调用顺序不同产生不同的结果。比如说,现在有个场景:客户公司让我们按一定的条件生产汽车模型,这个条件是,这些汽车模型可以按照用户自己给定的任意操作顺序来运行,针对这个问题该怎么解决呢? 二 实现方式: 创建产品抽象类CarModel: 创建产品类BenzMod 阅读全文
posted @ 2018-09-06 15:59 51life 阅读(548) 评论(0) 推荐(0)
摘要:代理模式定义:为其它对象提供一种代理以控制对这个对象的访问。代理的目的是在目标对象方法的基础上做增强,这种增强的本质是对目标方法做过滤和拦截。比如租房者找房子这件事,租房者给中介1000元中介费,然后中介通过各种方法最终为租房者找到了房子,最后租房者签合同入住。对这个流程进行分析:角色有中介(目标对 阅读全文
posted @ 2018-06-25 15:39 51life 阅读(152) 评论(0) 推荐(0)