设计模式
欧阳弘益
生活与编程
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式总结(4)
设计模式总结(4) 多例模式 单例模式限制了只能使用一个实例,有时候为了提高效率需要有限个相同的实例以供使用 public class Emperor { /** * 可以产生实例个数 */ private static int maxNumOfEmperor = 2; /** * 实例信息 */ private static...原创 2018-10-02 09:52:31 · 157 阅读 · 0 评论 -
设计模式总结(2)
设计模式总结(2) 策略模式 如果写了一个接口的多个实现类,而这些实现类功能相似,这个时候若还使用传统的类似if…else…的方法进行判断,其效率会非常低下。可以将这些功能相似的实现类封装起来,使它们可以相似替换。这就是策略模式。 策略模式是一种行为型模式,类的行为或者算法可以在运行时更改。 抽象策略 通常情况下为一个接口,当各个实现类中存在着重复的逻辑时,则使用抽象类来封装这部分公共的代码,此时...原创 2018-09-22 14:57:54 · 157 阅读 · 0 评论 -
设计模式总结(1)
设计模式总结(1) 单例模式 单例模式是java设计模式中较为简单但使用广泛的一种创建型模式。使用这种设计模式的类不需要实例化,可以直接使用并且只能有一个自己创建的实例。这样的优点是在一个类如果需要被频繁使用的场景下可以减少内存开销。 单例模式有多种实现方法: 饿汉式 ** * 饿汉式 */ class Singleton1 { private static Singleton1 si...原创 2018-09-22 14:58:35 · 146 阅读 · 0 评论 -
设计模式总结(3)
设计模式总结(3) 观察者模式 观察者模式定义了对象间的一种一对多的依赖关系,当被依赖的对象发生了改变的时候,所有依赖的类都会得到通知并自动更新。 观察者 观察者角色一般是一个接口,它只有一个update方法,在被观察者状态发生变化时,这个方法就会被触发调用 interface Observer { public void update(); } 具体的观察者 观察者接口的具体实现,在这...原创 2018-09-22 15:12:24 · 160 阅读 · 0 评论 -
设计模式总结(7)
设计模式总结(7) 建造者模式 建造者模式用于解决在细节上经常变化,但是组合上却相对稳定的场景。比如我们去快餐店点餐,可能有时候点的是素食汉堡,有时候点的是鸡肉汉堡,但不管点的是哪种汉堡,它们都是装在纸盒中的;同理,有时候喝的的百事可乐,有时候喝的是可口可乐,它们都是状态瓶子中的。虽然点的餐不同,但是组合是大致不变的,变的只是价格和食材。 **优点:**建造者独立易拓展,便于控制细节 **缺点:*...原创 2018-10-29 10:27:56 · 163 阅读 · 0 评论 -
设计模式总结(5)
设计模式总结(5) 工厂模式 工厂模式是java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。比如hibernate框架在更换数据库时只需要更换方言和驱动即可。 **优点:**对外隐藏实现逻辑,调用不同的对象只需要知道类名即可;拓展性高,增加相似功能时...原创 2018-10-26 15:02:07 · 169 阅读 · 0 评论 -
设计模式总结(6)
设计模式总结(6) 抽象工厂模式 抽象工厂模式是对工厂模式的"抽象",负责创建实现类的工厂 从底层向上,首先创建两个不同功能的接口,所有具体的实现类都是实现这两个接口: interface Shape { void draw(); } interface Color { void fill(); } 创建实现这些接口的具体实现类: class Rectangle impleme...原创 2018-10-26 16:30:09 · 144 阅读 · 0 评论
分享