
设计模式
不知道取啥昵称
这个作者很懒,什么都没留下…
展开
-
策略模式(Strategy)
策略模式: 就是定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换, 比如在人力资源系统的薪资计算时,针对不同的人员会有不同的薪资计算方法,将这些算法 分离出来,就是策略模式,策略模式让算法独立于使用它的客户而独立变化。 下面以人力资源系统根据不同部门岗位计算薪资为例: public class Salary { public double doS原创 2015-03-19 22:30:45 · 364 阅读 · 0 评论 -
原型模式(Prototype)
所谓的原型,通俗来讲就是一个模板,通过这个模板来产生其他相同的东西! 比如克隆,印钞机的金额模板等等。 原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个原型对象的方法来创建更多同类型的对象! // 测试实体类 public class Product { private double num; private double price;原创 2015-03-01 21:42:09 · 480 阅读 · 0 评论 -
代理模式(Proxy)
代理模式就是给一个对象提供一个代理对象,由这个代理对象控制对原对象的引用, 使代理类在客户端和原对象之间起到一个中介的作用!!! 概念说多了没用,直接上代码!------->>>>>>>>动态代理 动态代理是为了解决一个业务一个代理,代理类过多的问题。 代理类都必须实现InvocationHandler接口。 package com.proxy; import原创 2015-03-09 23:00:41 · 459 阅读 · 0 评论 -
命令模式(Command)
命令模式就是把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化, 对请求排队或者记录请求日志。 通俗来讲就是封装到一个有序的对象,按顺序依次调用。 直接上演示代码(银行窗口排队): // 定义一个命令接口 public interface Command { public void execute(); } // 银行普通窗口 pu原创 2015-03-31 23:21:29 · 545 阅读 · 0 评论 -
合成模式,享元模式
合成模式,也叫树形模式! 就是把部分和整体的关系用树形结构来表示,使得客户端对单个对象和组合对象的使用具有一致性! 像复制和粘贴就是合成模式的具体运用!---有时可以理解为递归! 享元模式:通俗来说就是共享! 使用场景: 在程序开发中,经常会用到数据库连接池,如果采用单例模式,整个系统只使用一个数据库连接, 当用户并发数据量很大时,系统会变得相当缓慢,因为建立数原创 2015-03-15 21:54:00 · 406 阅读 · 0 评论 -
桥模式(Bridge)
桥模式: 将抽象与其实现解耦,使它们可以分别独立的变化,是继承的一种替代方案。 不管是门面模式,适配器模式还是桥模式,核心思想只有一个,就是软件开发人员在进行代码编写时, 对于两个类之间需要进行关联时,不要直接在一个类的代码中调用另一个类的代码,而是要通过这些设计模式, 在两个类直接建立一个类似于缓冲器的类,从而将直接关联的两个类进行解耦,以保证以后当一个类的接口 发生变化时不会影响另一原创 2015-03-18 22:06:23 · 554 阅读 · 0 评论 -
单例模式(饿汉模式和懒汉模式)
最常见的单例模式应用:日志和数据库连接! // 饿汉模式 public class Singleton { // 实例在该类被加载时就创建 private static Singleton instance = new Singleton(); // 构造方法私有化 private Sin原创 2015-02-26 22:55:32 · 968 阅读 · 0 评论 -
工厂方法模式
。。。原创 2016-06-13 23:59:20 · 307 阅读 · 0 评论