设计模式
乔磊_1990
这个作者很懒,什么都没留下…
展开
-
单例模式
单例模式 好处:1、对于频繁使用的对象可以省略创建对象所花费的时间; 2、由于new操作的减少,从而减少了对内存使用频率, 单例模式 的核心在与通过一个接口返回唯一的对象实例。如下是简单的创建单例: public class Singleton{ private Singleton(){}; private st原创 2015-06-02 14:01:40 · 303 阅读 · 0 评论 -
代理模式
代理模式是一种很常见的设计模式。使用代理对象完成用户请求,屏蔽用户对真实对象的访问。 在软件设计中,使用代理模式的意图也很多,比如因为安全原因,需要屏蔽客户端直接访问真实对象;或者在远程调用中,需要使用代理类处理远程方法调用的技术细节;也可能是为了提升系统性能,对真实对象进行封装,从而达到延迟加载的目的。 代理模式的主要参与者有4个:主题接口—定义代理类和真实主题的公共对外方法,也是翻译 2016-08-07 16:36:34 · 672 阅读 · 0 评论 -
装饰者模式
装饰者模式拥有一个设计非常巧妙的结构,它可以动态添加对象功能。在基本的设计原则中,有一条重要的设计准则叫做合成/聚合复用原则。根据该原则的思想,代码复用应该尽可能使用委托,而不是使用继承。因为继承是一种紧耦合,任何父类的改动都会影响其子类,不利于系统维护。而委托则是松散耦合,只要接口不变,委托类的改动不会影响其上层对象。翻译 2016-08-08 14:04:33 · 316 阅读 · 0 评论 -
享元模式
享元模式对性能提升主要有两点:节省重复创建对象的开销;由于创建对象的数量减少,对系统内存的需求减小,也减小了GC的压力。翻译 2016-08-08 10:21:30 · 318 阅读 · 0 评论 -
观察者模式
在软件系统中,当一个对象的行为依赖于另一方个对象的状态时,观察者模式就相当有用。若不使用观察者模式提供的通用结构,而需要实现其类似的功能,则只能在另一个线程中不停的监听对象所依赖的状态。在一个复杂系统中,可能因此开启很多线程来实现这一功能,这使系统的性能产生额外的负担。观察者模式的意义在于:在单线程中,使某一对象,及时得知自身所依赖的状态的变化。 观察者模式可以用于事件监听、通知发布等场合。翻译 2016-08-09 20:54:56 · 362 阅读 · 0 评论 -
ValueObject模式
使用Value Object模式可以有效减少网络交互次数,提高远程调用方法的性能,也是系统接口具有更好的可维护性。翻译 2016-08-09 22:08:10 · 948 阅读 · 0 评论 -
业务代理模式
Value Object模式是将远程调用的传递数据封装在一个串行化的对象中进行传输,而业务代理模式则是将一组由远程方法调用构成的业务流程,封装在一个战士层的代理类中。比如当用户修改订单,需要进行一下三个操作:检验用户,获取旧的订单信息,更新订单。 以上结构存在两个问题:当展示层存在大量并发线程时,这些县城都会直接进行远程方法调用,进而增加网络负担;由于缺乏对订单修改操作流程的有效封装,如果翻译 2016-08-10 10:16:33 · 631 阅读 · 0 评论