Java设计模式的总结

创建型模式

在软件工程中,创建型模式是处理对象创建机制的设计模式,视图以适合情况的方式来创建对象。对象的创建基本形式可能会导致设计问题或增加设计的复杂性。创建型的设计模式通过控制这个对象创建来解决这个人体。

创建型设计模式有两个主导思想组成。一个是封装有关系统使用哪些具体类的知识。另一个是隐藏这些具体类的实例是如何创建和组合的。

创建型设计模式进一步分为对象创建模式和类创建模式,其中对象创建模式处理对象创建和类创建模式处理类实例化。更详细地说,对象创建模式将其对象创建的一部分推迟到另一个对象,而类创建模式将其对象创建推迟到子类。

创建型模式有五种:
抽象工厂模式(Abstract factory
pattern):
提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类。

建造模式(Builder pattern): 使用建造模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示。

工厂模式有两种:

原型模式(prototype pattern): 通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。

单例模式(Singletonpattern):确保一个类只有一个实例,并提供全局访问点,这个类也被称为单例类。






结构型模式

结构型模式主要是用于处理类或者对象的组合,它描述了如何让类或者对象更好的组合起来,适从程序的结构上来解决模块之间的耦合问题。

结构型模式有七种:






行为型模式

行为型模式主要是用于描述类或者对象是怎么交互和分配职责的。它涉及到算法和对象键的职责分配,不仅是描述对象或者类的模式,还描述了他们之间的通信

方式,它将你的注意力从控制流转移到了对象间的关系上来。行为型类模式采用继承机制在类间分派行为,而行为型对象模式使用对象复合而不是继承。

行为型模式有11种:

  • 责任链模式(Chain of responsibility
    pattern):
    通过责任链模式,你可以为某个请求创建一个对象链.每个对象依序检查此请求并对其进行处理或者将它传给链中的下一个对象。

  • 解释器模式(Interpreter pattern): 解释器模式是行为型的模式,比较少用。使用解释器模式简单来说就是为语言创建解释器。

  • 迭代器模式(Iterator pattern): 提供一种方法顺序访问一个聚合对象中的各个元素, 而又不暴露其内部的表示。

  • 中介者模式(Mediator pattern) :使用中介者模式来集中相关对象之间复杂的沟通和控制方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。

  • 备忘录模式(Memento pattern): 当你需要让对象返回之前的状态时(例如, 你的用户请求”撤销”), 你使用备忘录模式。

  • 观察者模式(observer pattern):在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。

  • 状态模式(State pattern): 允许对象在内部状态改变时改变它的行为, 对象看起来好象改了它的类。

  • 策略模式(strategy pattern):定义了算法族,分别封闭起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

  • 模板方法模式(Template pattern):在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

  • 访问者模式(visitor pattern): 当你想要为一个对象的组合增加新的能力, 且封装并不重要时, 就使用访问者模式。

参考资料:《JAVA与模式》26天系列

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值