设计模式
文章平均质量分 65
Dream_Ryoma
这个作者很懒,什么都没留下…
展开
-
设计模式(一)
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。设计模式一共有二十三种,每种设计模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在开发过程中不断重复发生的问题,以及该问题的核心解决方案。 1994年,Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了《Design Patterns - E...原创 2018-09-21 09:54:55 · 192 阅读 · 0 评论 -
设计模式(二)——简单工厂模式
简单工厂模式并不是23种设计模式中的一种,它主要是定义一个工厂类来负责创建其他类的实例。典型的表现形式为在调用创建其他类实例的时候需要传递一个参数,工厂类根据传递的参数决定创建哪个类的实例。代码如下:先定义一个鼠标类:package SimpleFactory;/** * 鼠标 */public interface Mouse { //鼠标点击 pu...原创 2018-09-26 17:38:16 · 199 阅读 · 0 评论 -
设计模式(三)——工厂模式
工厂模式是23种设计模式,它是定义一个实例化对象的工厂(本质为一个抽象类或接口),然后为每个品种都定义一个工厂(实现实例化对象的工厂),在每个品种工厂中决定创建哪个类的实例。也就是说实例化哪个类的对象交由具体的工厂去决定。代码如下:先定义一个鼠标类:package FactoryPattern;/** * 鼠标 */public interface Mouse { ...原创 2018-09-26 18:22:29 · 175 阅读 · 0 评论 -
设计模式(四)——抽象工厂模式
前面说了两种设计模式,简单工厂模式和工厂模式。简单工厂模式是定义一个工厂类,工厂类根据调用时传入的参数选择创建哪一个类的实例。工厂模式是为每个类创建一个工厂,而这些工厂都实现了同一个工厂,客户端在调用的时候自己选择某个类对应的工厂去创建某个类的实例。那抽象工厂又是什么呢?抽象工厂在工厂模式的基础上引入了“产品族”的概念。代码如下(鼠标和键盘是一个产品族):先定义鼠标接口和键盘接口:p...原创 2018-09-27 17:04:05 · 192 阅读 · 0 评论 -
设计模式(五)——单例模式
单例模式,主要由以下几个模块组成:私有的静态对象实例,私有的构造方法(避免外部调用new对象,保证只有一个对象的实例),一个共有的静态获取对象的方法(供外部调用)。代码如下:懒汉式单例模式(在需要的时候,也即调用共有的静态获取对象的方法时才创建对象):package SinglePattern;public class LazySingle { private stat...原创 2018-09-27 19:53:58 · 527 阅读 · 0 评论 -
设计模式(六)——建造者模式
建造者模式的核心是用多个简单对象一步一步构建一个复杂对象,也就是将一个复杂对象的构建和表示分离开来。以快餐定套餐为例(套餐为复杂对象,套餐是由主食和饮料等多个简单对象构成的),代码如下:先定义主食类和饮料类:package BuilderPattern;public class Food { private String name; private i...原创 2018-09-29 14:44:53 · 245 阅读 · 0 评论 -
设计模式(七)——原型模式
原型模式的核心就是java中的Cloneable接口。示例如下:XX银行国庆期间给所有用户发送信用卡消费抽奖信息。package PrototypePattern;/** * 邮件实体 */public class Mail{ //收件人 private String receiver; //主题 private String subj...原创 2018-10-09 18:10:46 · 159 阅读 · 0 评论 -
设计模式(八)——适配器模式
适配器模式多用来拓展系统,是两个不兼容接口之间对接的桥梁,适配器结合了两个接口独立的功能。适配器模式不是用在系统设计阶段。常见的适配器模式使用场景有如下这些:读卡器、笔记本充电器等。示例如下:项目最初设计了一个MediaPlayer接口,用来播放多媒体文件。package AdapterPattern;/** * 播放器 */public interface MediaP...原创 2018-10-10 14:38:28 · 161 阅读 · 0 评论