![](https://img-blog.csdnimg.cn/78d9952f9e104d3c8c4417944dcb1d4b.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java设计模式
java设计模式
gzh-程序员灿灿
这个作者很懒,什么都没留下…
展开
-
设计模式-工厂方法模式(二)
文章目录业务场景使用场景 业务场景 有这么个场景:供应商需要将把产品通过陆路方式运到目的地,运输的功能非常复杂已经通过代码实现,有客户反应还需要水路运输,这是为了兼容陆路运输的功能增加水路运输,改造代码的工作量则变得异常繁杂, 而且容易出错。在这种场景下在设计运输功能之初,就应该使用工厂方法模式,进行运输方式的解耦。由客户决定运输方式。 工厂方法模式有四个角色 抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色。不再是由一个工厂类去实例化具体的产品,而是由抽象工厂的子类去实例化产品 // 抽象产品(运输原创 2021-08-21 10:53:21 · 79 阅读 · 0 评论 -
设计模式-策略模式(三)
为什么要设计使用策略模式 多重条件语句不易维护,而使用策略模式可以避免使用多重条件语句,如 if…else 语句、switch…case 语句。 策略模式可以提供相同行为的不同实现,客户可以根据不同时间或空间要求选择不同的。 实现方式的解耦,便于扩展。 以交易实现为例 交易策略的定义 package com.enterprise.account.service.model.strategy; /** * @version 1.0 * @date 2021/8/20 5:33 下午 * @desc原创 2021-08-23 16:28:37 · 82 阅读 · 0 评论 -
设计模式-单例模式(一)
为什么要使用单例模式 如果频繁创建一个很大的对象,这对cpu,内存,时间都产生不小的开销。 减少new过程,将减少GC压力,缩短GC停顿时间。 对于线程池,缓存,日志对象,这类对象只能有一个,多个对象会造成数据不一致问题。 单例模式的实现需要三个必要的条件 单例类的构造函数必须是私有的,这样才能将类的创建权控制在类的内部,从而使得类的外部不能创建类的实例。 单例类通过一个私有的静态变量来存储其唯一实例。 单例类通过提供一个公开的静态方法,使得外部使用者可以访问类的唯一实例。 写个单例模式原创 2021-08-21 10:52:33 · 99 阅读 · 0 评论