随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

随笔分类 -  设计模式2

第一节:组合模式——需求说明&基本介绍
摘要:一、需求说明 看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。 如图所示: 二、传统方案解决学校院系展示 1、传统方案解决学校院系展示(类图) 2、传统方案解决学校院系展示存在的问题分析 (1)将学院看做是学 阅读全文
posted @ 2021-01-25 22:58 格物致知_Tony 阅读(91) 评论(0) 推荐(0) 编辑
第三节:装饰者模式在JDK中的应用
摘要:装饰者模式在 JDK 应用的源码分析 Java 的 IO 结构,FilterInputStream 就是一个装饰者: public abstract class InputStream implements Closeable{} 是一个抽象类,即Component public class Fil 阅读全文
posted @ 2021-01-23 22:03 格物致知_Tony 阅读(264) 评论(0) 推荐(0) 编辑
第二节:装饰者模式—定义与应用
摘要:一、装饰者模式(Decorator) 1、装饰者模式定义 (1)装饰者模式:动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(OCP); (2)这里提到的动态的将新功能附加到对象 和 OCP 原则,下面使用代码的方式学习。 2、装饰者模式原理 (1)装饰者 阅读全文
posted @ 2021-01-23 19:03 格物致知_Tony 阅读(138) 评论(0) 推荐(0) 编辑
第一节:装饰者设计模式-需求分析与传统实现
摘要:一、需求分析 星巴克咖啡订单项目: 1、咖啡种类/单品咖啡:Espresso(意大利咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡); 2、调料:Milk、Soy(豆浆)、Chocolate; 3、要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便; 阅读全文
posted @ 2021-01-23 18:49 格物致知_Tony 阅读(76) 评论(0) 推荐(0) 编辑
第三节:桥接模式总结
摘要:桥接模式的注意事项和细节 1、实现了抽象 和 实现部分的分离,从而极大的提供了系统的灵活性,让抽象部分和实现部分独立开来,这有助于系统进行分层设计,从而产生更好的结构化系统; 2、对于系统的高层部分,只需要知道抽象部分和实现部分的接口就可以了,其他的部分由具体业务来完成; 3、桥接模式替代多层继承方 阅读全文
posted @ 2021-01-19 22:39 格物致知_Tony 阅读(106) 评论(0) 推荐(0) 编辑
第二节:桥接模式在 JDBC的源码剖析
摘要:桥接模式在JDBC的源码剖析 1、JDBC 的 Driver 接口,如果从桥接模式来看, Driver 就是一个接口,下面可以有 MySQL 的 Driver,Oracle 的 Driver,这些就可以当做实现接口类; 2、代码分析 3、对 JDBC 源码分析的类图 阅读全文
posted @ 2021-01-19 22:36 格物致知_Tony 阅读(135) 评论(0) 推荐(0) 编辑
第一节:桥接模式
摘要:一、传统方式 1、需求分析 现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机,上网,打电话等) 2、传统方式解决手机操作问题: 传统方式解决手机使用问题(类图) 3、传统方式解决手机操作问题分析 (1)扩展性问题(类爆炸),如过再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如 阅读全文
posted @ 2021-01-19 22:28 格物致知_Tony 阅读(190) 评论(0) 推荐(0) 编辑
第六节:适配器模式总结
摘要:适配器模式的注意事项和细节 1)三种命名方式,是根据 src 是以怎样的形式给到 Adapter(在 Adapter里的形式)来命名的; 2)类适配器:以类给到,在 Adapter 里,就是将 src 当做类,继承; 对象适配器:以对象给到,在 Adapter 里,就是将 src 作为一个对象,持有 阅读全文
posted @ 2021-01-17 18:47 格物致知_Tony 阅读(61) 评论(0) 推荐(0) 编辑
第五节:适配器在 SpringMVC 中的应用
摘要:一、适配器模式在 SpringMVC 框架应用的源码分析 1、SpringMVC 中的 HandlerAdapter,就使用了适配器模式; 2、SpringMVC 处理请求的流程回顾: 3、使用 HandlerAdapter 的原因分析: 在容器中会有多个处理器(Controller),且它们类型不 阅读全文
posted @ 2021-01-17 18:42 格物致知_Tony 阅读(390) 评论(0) 推荐(0) 编辑
第四节:接口适配器模式
摘要:一、接口适配器模式 1、接口适配器模式又被称为 适配器模式(Default Adapter Pattern)或者 缺省适配器模式; 2、当不需要全部实现接口提供的方法时,可先设计一个抽象类实现接口,并为该接口中每个方法提供一个默认实现(空方法),那么该抽象类的子类可有选择地覆盖父类的某些方法来实现需 阅读全文
posted @ 2021-01-17 17:45 格物致知_Tony 阅读(378) 评论(0) 推荐(0) 编辑
第三节:对象适配器模式
摘要:一、对象适配器模式 1、基本思路和类的适配器模式相同,只是将 Adapter 类做修改,不是继承 src 类,而是持有 src 类的实例,以解决兼容性的问题。 即:持有 src 类,实现 dst 类接口,完成 src ->dst 的适配; 2、根据 “合成复用原则” ,在系统中尽量使用关联关系(聚合 阅读全文
posted @ 2021-01-17 17:31 格物致知_Tony 阅读(349) 评论(0) 推荐(0) 编辑
第二节:类适配器模式
摘要:一、类适配器模式 基本介绍: Adapter类、通过继承 src 类、实现 dst 类接口,完成 src -> dst的适配。 二、类适配器应用实例 1、应用实例说明 以生活充电器的例子来学习适配器,充电器本身相当于 Adapter,220V 交流电相当于 src(即被适配者),我们的目的 dst( 阅读全文
posted @ 2021-01-17 15:15 格物致知_Tony 阅读(168) 评论(0) 推荐(0) 编辑
第一节:适配器设计模式
摘要:一、生活中适配器例子 二、基本介绍 1、适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作,又被称为包装器(Wrapper)。 2、适配器模式属于结构型模式; 3、主要分为三类:类适配器、对 阅读全文
posted @ 2021-01-17 15:02 格物致知_Tony 阅读(118) 评论(0) 推荐(0) 编辑
第六节:建造者模式总结
摘要:一、建造者模式的注意事项和细节 1、客户端(使用程序)不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象; 2、每一个具体建造者都相对独立,而与其他的具体建造者无关,因为可以很方便地替代具体建造者或增加新的具体建造者,用户使用不同的具体建造者即可得到 阅读全文
posted @ 2021-01-09 22:06 格物致知_Tony 阅读(81) 评论(0) 推荐(0) 编辑
第五节:建造者模式——变种
摘要:一、分析需求 当需要创建一个多属性的对象,例如:创建一个不可变的 Person 对象,这个 Person 拥有多个属性,但其中名字和性别是必须有的。 代码实现: 1 public class Person { 2 /*名字(必须)*/ 3 private final String name; 4 / 阅读全文
posted @ 2021-01-09 22:05 格物致知_Tony 阅读(107) 评论(0) 推荐(0) 编辑
第四节:建造者模式的应用
摘要:一、建造者模式在 JDK中应用 java.lang.StringBuilder 中的建造者模式: 二、源码中建造者模式角色分析 1、Appendable 接口定义了多个 append方法(抽象方法),即 Appendable 为抽象建造者,定义了抽象方法; 2、AbstractStringBuild 阅读全文
posted @ 2021-01-09 21:25 格物致知_Tony 阅读(114) 评论(0) 推荐(0) 编辑
第三节:建造者模式解决需求
摘要:一、用建造者解决盖房需求 需要建房子:这一过程为打桩、 砌墙、封顶。不管是普通房子也好,别墅也好都需要经历这些过程, 下面我们使用建造者模式(Builder Pattern)来完成; UML 类图: 二、代码实现 产品类: 1 /** 2 * 产品 ——》Product 3 */ 4 public 阅读全文
posted @ 2021-01-09 21:20 格物致知_Tony 阅读(134) 评论(0) 推荐(0) 编辑
第二节:建造者模式基本介绍
摘要:一、建造者模式基本介绍 1、建造者模式(Builder Pattern) 建造者模式又叫生成器模式,是一种对象构建模式。 它可以将复杂对象的建造过程抽象出来(抽象类别),使整个抽象过程的不同实现方式可以构造出不同表现(属性)的对象。 2、建造者模式使用 建造者模式是一步一步创建一个复杂的对象,它允许 阅读全文
posted @ 2021-01-09 18:57 格物致知_Tony 阅读(91) 评论(0) 推荐(0) 编辑
第一节:传统方式完成需求
摘要:一、需求分析 1) 需要建房子:这一过程为打桩、 砌墙、封顶 2) 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的. 二、代码实现 1、UML 类图 2、代码实现 1 public abstract class AbstractHouse { 2 3 //打地基 阅读全文
posted @ 2021-01-09 18:49 格物致知_Tony 阅读(94) 评论(0) 推荐(0) 编辑
第四节:原型模式总结
摘要:原型模式的总结 一、注意事项和细节 1、创建新的对象比较复杂时,可以利用原型模式简化对象的创建过程,同时也能够提高效率; 2、不用重新初始化对象,而是动态地获得对象运行时的状态; 3、如果原始对象发生变化(增加或者减少属性),其它克隆对象的也会发生相应的变化,无需修改代码; 4、在实现深克隆的时候可 阅读全文
posted @ 2021-01-07 22:27 格物致知_Tony 阅读(74) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示