设计模式
Yes_JiangShuai
默默奋斗的攻城狮 向往掌握技术而不限于技术
展开
-
设计模式(Design Patterns)-可复用面向对象软件的基础 02:工厂方法模式(Factory Method)和抽象工厂模式(Abstract Factory)
工厂方法模式有三种:1、普通工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先,创建一个接口(Sender):public interface Sender{ public void Send();}然后,创建接口的实现类(MailSender、SmsSender):public class MailSender implements Sender原创 2017-05-24 11:10:23 · 776 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 03:单例模式(Singleton)
单例对象(Singleton)是一种常见的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如某个部门出现了原创 2017-05-24 15:49:44 · 541 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 04:建造者模式(Builder)
一、建造者模式(Builder)工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码:还和前面一样,一个Sender接口,两个实现类MailSender和SmsSender。最后,建造者类如下:packag原创 2017-05-25 10:24:21 · 379 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 05:原型模式(Prototype)和Java中的深、浅拷贝
原型模式(Prototype)原型模式虽然是创建型的模式,但是与工厂模式没有关系,从名字即可看出,该模式的思想是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本文将会通过对象的复制对原型模式进行讲解。在Java中,复制对象是通过clone()实现的,先创建一个原型类:package com.js.pattern5;/** * 原型模式 * 原型原创 2017-05-25 11:06:23 · 439 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 07:装饰模式(Decorator)
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:package csdn.article07;/** * 公共接口 * @author JiangShuai * */public in原创 2017-06-01 11:11:24 · 495 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 06:适配器模式(Adapter)
一、写在前面的话之前的几篇文章分析了5种创建型模式,从设计模式(Design Patterns)-可复用面向对象软件的基础 06这篇文章开始,继续介绍7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式,其中对象的适配器模式是各种模式的起源。二、适配器模式(Adapter)适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹原创 2017-05-25 16:19:56 · 759 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 01:简介(Abstract)
一、概述设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人与系统都是多赢的,可以使代码真正工程化。设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原创 2017-05-24 10:41:32 · 711 阅读 · 0 评论 -
设计模式(Design Patterns)-可复用面向对象软件的基础 08:外观模式(Facade)
外观模式是为了解决类与类之间的依赖关系的,像Spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度,该模式中没有涉及到接口(我们以一个计算机的启动过程为例)。package com.js.article08;/** * CPU类 * @author jiangshuai * */public class原创 2017-06-01 13:46:27 · 856 阅读 · 0 评论