摘要: 模板方法模式 一、应用实例 编写制作豆浆的程序 1)制作豆浆的流程 选择 添加配料 浸泡 放到豆浆机打碎 2)通过添加不同的配料,可以制作出不同口味的豆浆 3)选材、浸泡、打碎步骤一样 二、模板方法模式 1.基本介绍 1)模板模式在一个抽象类公开定义了执行它的方法的模板。子类可以按需重写方法实现,但 阅读全文
posted @ 2019-08-11 06:16 思丿无邪 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 代理模式 一、代理模式 基本介绍 1)代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,扩展目标对象的功能。 2)被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象 3)代理模式有不同的形式,主要有三种 静 阅读全文
posted @ 2019-08-06 23:13 思丿无邪 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 享元模式 一、应用实例 ​ 小型的外包项目,给客户A做一个产品展示网站,客户A的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同: 1)有客户要求以新闻的形式发布 2)有客户要求以博客的形式发布 3)有客户希望以微信公众号的形式发布 二、享元模式 1.基本介绍 1)享元模式也叫蝇量模 阅读全文
posted @ 2019-08-06 22:04 思丿无邪 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 外观模式 一、实例项目 组建一个家庭影院: DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求直接用遥控器:统筹各设备开关 开爆米花机、放下屏幕、开投影仪、开音响、开DVD,去拿爆米花、调暗灯光、播放、观影结束后,关闭各种设备 二、外观模式(Facade) 1、基本介绍 1)外观模式,也叫过 阅读全文
posted @ 2019-08-06 01:01 思丿无邪 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 组合模式 一、应用实例 编写程序展示一个学校院系结构:要在一个页面中展示学校的院系组成,一个学校有多个学院,一个学院有多个系。 二、组合模式(Composite Pattern) 1.基本介绍 1)组合模式,又叫部分整体模式,将对象组合成树状结构。 2)组合模式使用户对单个对象和组合对象的访问具有一 阅读全文
posted @ 2019-08-04 23:49 思丿无邪 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式 一、应用实例 咖啡订单项目 1) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack、Decaf 2)调料:Milk、Soy、Chocolate 3)要求在扩展新的咖啡种类时,有良好的扩展性、改动方便。 二、装饰者模式 动态的将新功能附加到对象 阅读全文
posted @ 2019-08-04 23:23 思丿无邪 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 桥接模式 一、实例问题 对不同手机类型的不同品牌实现一些操作(如:开机、关机、上网、打电话) 二、桥接模式 1.基本介绍 1)将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变 2)是一种结构型设计模式 3)Bridge模式基本类的最小设计原则,通过使用封装、聚合及集成等行为让不同的类承担不 阅读全文
posted @ 2019-08-04 22:22 思丿无邪 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 一、基本介绍 1)适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,目的是兼容性。 2)适配器模式属于结构型模式 3)主要分为三类:类适配器模式、对象适配器模式、接口适配器模式 二、类适配器模式 1.类适配器模式 基本介绍:Adapter类,通过 阅读全文
posted @ 2019-08-04 21:51 思丿无邪 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 一、盖房项目需求 1)建房过程:打桩、砌墙、封顶 2)房子有多种样式:普通房、高楼、别墅。各种房子建造过程一样,要求不同 二、传统方式解决盖房需求 1.思路分析图解 2.代码实现 3.传统方式分析 1)过于简单,没有设计缓存层对象,程序的扩展和维护不好,这种方案把产品(房子)和创建产品的 阅读全文
posted @ 2019-08-03 22:21 思丿无邪 阅读(199) 评论(0) 推荐(1) 编辑
摘要: 原型模式 一、克隆羊问题 ​ 现在有一只羊tom,姓名为tom,年龄为1,颜色为白色,编写程序创建和tom羊属性完全相同的10只羊。 二、传统方式 1.代码实现 2.传统方式的优缺点 1)优点是比较好理解,简单易操作。 2)在创建新的对象时,总是需要重新获取原始对象的属性,如果创建的对象比较复杂时, 阅读全文
posted @ 2019-08-01 23:17 思丿无邪 阅读(200) 评论(0) 推荐(0) 编辑