
设计模式
文章平均质量分 72
义臻
你可以通过知乎ID找到我:义臻
转摘文章请注明出处。
展开
-
业务对象的贫血模型与充血模型
业务对象是指那些从实际业务场景中抽象出来的对象,这些对象在代码中对应的就是一些业务对象类。在常见的SSH框架的开发中,一般的做法是将每一个业务对象对应一个POLO,当然这是为了方便使用ORM框架。当我们把业务对象实现为POJO的时候,我们实际上是在使用业务对象贫血模式。下面是业务对象贫血模型图:(业务对象类既领域层的model)在贫血模型中,业务对象仅仅包含数据而不包含行为,他的作用原创 2016-08-11 14:12:55 · 1275 阅读 · 1 评论 -
模板方法模式和回调模式
//模板模式----实现编程式事务管理abstract class TransactionTemplate{ public void transaction(){ beforeTransaction(); doInTransaction(); afterTransaction(); } private void beforeTransaction(){ Sy原创 2016-08-11 14:11:49 · 352 阅读 · 0 评论 -
设计模式之回调模式
public class Demo { public static void main(String [] args){ Server s=new Server(); Client c=new Client(); c.haveLaunch(s); }}interface Money{ public int getMoney();}class Ser原创 2016-08-11 14:11:14 · 455 阅读 · 0 评论 -
单例模式的5种JAVA实现
JAVA实现单例模式有5种方案:分别是“懒汉”“饿汉”“枚举”“内部静态类”“双重校验锁”。由于是单例模式,因此不能将类的构造函数暴露在外面,所以要将构造函数重写为私有的。同时需要考虑多线程安全问题:多个线程不能构造出多个类对象。懒汉:public class Singleton{ private static Singleton instance=null; private Singl...原创 2016-08-11 14:09:56 · 2185 阅读 · 0 评论 -
序列化代理模式
我们知道,实现了序列化的类。在反序列化时,实例的创建是由readObject方法来完成的。由于这是一个不同于构造函数的创建类实例的通道,因此在构造函数中的状态约束条件在readObjetc中也得一条不落下的实现。这很让人头大,因此这里介绍一种模式,将实例的反序列化也交给改造函数来完成,即序列化代理模式。要想稳健的将带有重要约束条件的对象序列化时,这种模式可能是最容易的方法。代码如下:import ...原创 2017-05-18 14:21:41 · 755 阅读 · 0 评论