一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石 ...
分类:
编程语言 时间:
2020-07-11 22:41:30
阅读次数:
65
首先我们看下各个模式之间的关系图,下面这张图是网上比较典型的一个类图关系: 从上面的类图之间可以看出,学习设计模式或者说学懂完全理解所有的设计模式还是挺难的,只能说不断的重复学习,不断的去领悟才是唯一的方法,当然不排除有些人是天才看一篇就学会了,可惜鄙人不是,所以必须不断重复学习来加深自己的理解。个 ...
分类:
编程语言 时间:
2020-07-11 22:34:46
阅读次数:
54
适配器模式( Adapter Pattern )又叫做变压器模式,它的功能是将一个类的接口变成客户端所期望的另一种接口,从而使原本因接口不匹配而导致无法在一起工作的两个类能够-起工作 ,属于结构型设计模式。 桥接模式的目的主要是通过组合而不是继承建立两个类之间的关系。 类图: 基本角色: 接口:II ...
分类:
编程语言 时间:
2020-07-09 12:27:51
阅读次数:
59
建造者模式( Builder Pattern )又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。 建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需 ...
分类:
编程语言 时间:
2020-07-09 00:33:18
阅读次数:
88
欢迎关注 CSDN:程序员小羊 微信公众号:程序员小羊 1.请列举出在 JDK 中几个常用的设计模式? 单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。 工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像 Bo ...
分类:
编程语言 时间:
2020-07-06 20:13:02
阅读次数:
111
/** * 工厂设计模式 * 作用:把繁琐的工作交给第三方,目的方便. (IOC控制反转) * 目的:追求高内聚,低耦合 * @author lin * */ //首先我们先有一个车的对象,车有‘颜色’和‘引擎’属性,还有一个run的实例方法class Car { private String co ...
分类:
编程语言 时间:
2020-07-03 17:50:40
阅读次数:
87
/** * 单例设计模式: * 让程序员始终操作一个对象 * 1.把构造方法设置成private,不让程序员随便创造对象 * 2.提供一个得到唯一对象的方法* 以下面例子来说就是地球只有一个中国,怎么new都是那一个中国,不会说出现多个中国的对象 * @author lin */ class Chi ...
分类:
编程语言 时间:
2020-07-03 17:32:00
阅读次数:
61
/** * 模板设计模式:定义一个操作算法中的框架 * @author lin * */ public class Cook{ public void lunch() { buying(); washing(); cooking(); eating(); } public void buying() ...
分类:
编程语言 时间:
2020-07-03 17:28:35
阅读次数:
64
Hello,又是拖了几天更,实在是忙的要死,有时候忙累了,真的就是倒头睡的那种,刚好今天闲下来了。今天来更新一篇建造者模式。 其实建造者模式,我们已经在上一节已经有了解过了。只不过是上一节没有提到这样的一个概念。可能大家都觉得抽象工厂模式一般都是那样用的,其实里面已经包含了我们这一节的内容。 且听我 ...
分类:
编程语言 时间:
2020-07-02 00:17:16
阅读次数:
55
原型模式属于创造型模式,通过二进制流拷贝已有的对象。 原型模式有浅克隆和深度克隆 案例: 原型接口Iprototype: public interface Iprototype<T> { T clone(); } 原对象实现原型接口: @Data public class Teacher imple ...
分类:
编程语言 时间:
2020-07-01 12:47:30
阅读次数:
63