
设计模式
光与热
这个作者很懒,什么都没留下…
展开
-
JavaBean中DAO设计模式介绍
一、信息系统的开发架构客户层——-显示层——-业务层———数据层———数据库1.客户层:客户层就是客户端,简单的来说就是浏览器。2.显示层:JSP/Servlet,用于给浏览器显示。3.业务层:对于数据层的原子操作进行整合。4.数据层:对于数据库进行的原子操作,增加、删除等;二、DAO(Data Access Object)介绍DAO应用在数据层那块,用于访问数据库,对数据库进行操作的类。转载 2017-03-10 11:25:12 · 490 阅读 · 0 评论 -
工厂模式
工厂模式工厂模式简单的说就是为屏蔽对象的实例化过程工厂模式可以分为三种 1. 简单工厂 2. 工厂方法模式 3. 抽象工厂模式简单工厂模式简单工厂模式又称静态工厂方法模式。重命名上就可以看出这个模式一定很简单。如果不使用简单工厂模式,我们一般按如下的方法开发以用户买车为例抽象类车,他可以有很多子类比如大众,BMW或者奥迪@ToStringpublic a原创 2017-12-10 20:27:17 · 345 阅读 · 0 评论 -
Builder内部类
今天在看当当网的开源项目分布式任务调度框架源码的时候,感到很奇怪,代码如下@AllArgsConstructor(access = AccessLevel.PRIVATE)public final class LiteJobConfiguration implements JobRootConfiguration { private final JobTypeConfigura原创 2018-01-17 19:53:50 · 1959 阅读 · 0 评论 -
责任链模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责转载 2018-01-06 14:14:27 · 384 阅读 · 0 评论 -
命令模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式的结构 命令模式是对命令的封装。命令模式把转载 2018-01-05 18:12:37 · 311 阅读 · 0 评论 -
状态模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构 用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象转载 2018-01-05 16:16:16 · 269 阅读 · 0 评论 -
代理模式
在开发过程中,常常会遇到下面这样的权限验证场景,比如某个方法只能某些类别的用户才能调用。以前我是这样开发的public class ReadDataService implements EmployeeGateway { //查看某数据 public void readData() { String currentUser=AccessControl.getCurren原创 2017-12-06 17:10:26 · 337 阅读 · 0 评论 -
策略模式
使用Lambda表达式实现策略模式看下面这个例子public class Asset { public enum AssetType { BOND, STOCK }; private final AssetType type; private final int value; public Asset(final AssetType assetType, final原创 2017-12-28 08:40:44 · 400 阅读 · 0 评论 -
适配器模式
转载自http://blog.youkuaiyun.com/zhangjg_blog/article/details/18735243德国插座和中国插座不一样,在德国旅行期间,为了在德国酒店使用德国标准的插座供电需要使用转换器,下面是具体得体代码德标插座接口public interface DBSocketInterface { void powerWithTwoRound();}德标插座实现类pub转载 2017-12-10 08:43:00 · 292 阅读 · 0 评论 -
装饰模式
通常为了给一个类增加行为,我们会使用继承机制,但是继承机制是静态的,用户不能控制增加行为的方式和时机。而在装饰模式这一设计模式中,我们可以动态的给一个对象增加一些额外的功能,比继承更有灵活性,利于扩展,满足设计模式中的一个重要原则,对修改关闭(避免引入bug)对扩展开放(程序具有弹性)。装饰模式包括如下角色,Component抽象构建,ConcreteComponent具体构建,Decorator抽原创 2017-12-09 16:47:50 · 284 阅读 · 0 评论 -
并发编程设计模式--Immutable Object
传统并发编程的问题: 锁的引入会带来很多的问题,如线程上下文切换开销,以及使编程本身变得复杂Immutable Object设计模式核心: 使用对外可见但的状态不可变的对象,使得对象天生具有线程安全性,而无需额外的同步控制问题: 什么是状态不可变的对象?1.类本身使用final修饰,防止子类修改定义的行为 2.所有字段都使用final修饰,保证字段值不可更改,并且被其它对象可见时必定是初始化原创 2017-08-27 09:46:32 · 454 阅读 · 0 评论 -
线程安全的单例模式
public class SafeLazyInitialization { private static Resource resource; public synchronized static Resource getInstance() { if (resource == null) resource = new Resource()原创 2017-08-08 09:41:17 · 269 阅读 · 0 评论 -
观察者模式
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某个主题对象,如果这个主题在状态上发生了变化,会通知所有的观察者对象,让他们自动更新自己观察者模式有如下四个角色 1. 被观察接口 2. 具体的被观察者 3. 观察者接口 4. 具体的观察者接口类图关系如下 原生观察者模式通过程序实例理解观察者模式被观察者接口包括注册观察者,移除观察者,通知观察者p...原创 2018-02-09 23:11:31 · 342 阅读 · 0 评论