java设计模式
文章平均质量分 69
奔跑_蜗牛
我要一步一步往上爬!
展开
-
原型模式和java对象复制
原型模式在学习原型模式之前,首先了解下java的对象克隆。 java中原始数据类型(byte,char,short,int,long,float,double,boolean)这八种类型的变量的复制很简单,比如:int a = 1;int b = a;但是复制一个对象就不是这样的了。 初学者也许会这样写://一个简历类class Resume{ private ...原创 2018-07-23 20:02:35 · 667 阅读 · 0 评论 -
观察者模式(发布-订阅模式)
观察者模式(发布-订阅模式)一、概述 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对...原创 2018-07-25 16:58:50 · 703 阅读 · 0 评论 -
建造者模式(Builder )
建造者模式(Builder )一、模式的定义建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于对象创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类(Builder 类是独立于其他对...原创 2018-07-24 23:22:43 · 130 阅读 · 0 评论 -
外观模式(Facade)
外观模式(Facade)子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 这种模式涉及到一个单一的类facade类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。一、外观模式实例结构图二、代码实现图形shape接口/** * 定义一个形状的接口, * 一个画图的方法和计算面积的方法 */...原创 2018-07-24 10:59:38 · 173 阅读 · 0 评论 -
修饰模式(decorator)
修饰模式(decorator)定义:在不修改原类和原类使用的继承的情况下,动态地给一个对象添加一些额外的职责。通过创建一个包装对象,也就是用装饰来包裹真实的对象来实现。 修饰模式(decorator)/** * Component定义一个对象抽象类,可以给这些对象动态的添加职责 * @author 15680 * */ publ...原创 2018-07-23 20:55:15 · 991 阅读 · 1 评论 -
设计模式的六大原则
设计模式的原则一、单一职责原则(SRP)概念:就一个类而言,应该仅有一个引起它变化的原因。二、开放-封闭原则(OCP)概念:是说软件实体(类、模块、函数等等)应该可以扩展,但是不能修改。特性:对于扩展时开放的,对于更改是封闭的。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。三、依赖倒转原则概念:(1)高层模块不应该依赖底层模块,...原创 2018-07-23 20:52:21 · 252 阅读 · 0 评论 -
策略模式(Strategy)
策略模式(Strategy)它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式结构图Strategy类,定义所有支持的算法的公共接口 //抽象算法类 abstract class Strategy{ //算法方法 public abstract void Algorith...原创 2018-07-23 20:50:48 · 159 阅读 · 0 评论 -
代理模式(proxy)
代理模式(proxy)代理模式:为其他对象提供一种代理以控制对这个对象的访问。代理模式的应用一、远程代理,也就是为了一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。二、虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。这样可以达到性能最优化。三、安全代理,用来控制真实对象访问时的权限。四、智能指引,是指...原创 2018-07-23 20:27:11 · 2700 阅读 · 1 评论 -
简单工厂模式(Simple Factory)
简单工厂模式1、面向对象的好处通过封装、继承、多态把程序的耦合性降低。 使用设计模式使得程序更加灵活,容易修改,并且容易复用。 可维护、可扩展、可复用、灵活性好。2、简单工厂模式实现简单的加减乘除法运算: 测试main方法public class SimpleFactoryMain {public static void main(String[] args) {...原创 2018-07-23 20:16:47 · 207 阅读 · 0 评论 -
工厂方法模式(Factory Method)
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式结构图工厂方法模式实现简单工厂模式时的计算器 工厂方法模式实现简单工厂模式时的计算器结构图 工厂代码实现构建工厂接口/** * 构建工厂接口 */public interface IFactory { Operation CreateO...原创 2018-07-23 20:10:38 · 1071 阅读 · 0 评论