面向可复用性和可维护性的设计模式
HIT Software Consturction
哈工软件构造课程 内容回顾
——Design Patterns for Reuse and Maintainbality
面向可复用性和可维护性的设计模式
Outline(课件)
- Creational patterns
- Factory method pattern creates objects without specifying the exact class.
- Structural patterns
- Adapter allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class.
- Decorator dynamically adds/overrides behavior in a method of an object.
- Behavioral patterns
- Strategy allows one of a family of algorithms to be selected at runtime.
- Template method defines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior.
- Iterator accesses the elements of an object sequentially without exposing its underlying representation.
- Visitor separates an algorithm from an object structure by moving the hierarchy of methods into one object
总述
all for Reuseability, Maintainablitity and Extensibility.
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。
来自https://www.runoob.com/design-pattern/design-pattern-intro.html*
晕晕,看不懂
简单来说就是一套经过码农先辈反复使用得到验证被证明行之有效的软件中模块的代码设计“公式”。
在面向对象的设计模式中,通常来讲除了类本身,这些设计模式更加强调多个类/对象之间的关系与交互过程——这一内容的颗粒度要比接口/类复用的颗粒度要大。
省略:四人帮GOF
根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software
,我们可以认为一般将设计模式划分为三类:
- 创造型模式(Creational Patterns):更关注对象创建的过程。相较于直接使用new运算符,这一模式期望在创建对象的同时隐藏创建的逻辑。
- 结构型模式(Structural Patterns):关注对象之间的组合和关系,解决类/对象的结构组成问题
- 行为类模式(Behavioral Patterns):关注对象之间的通信和交互,“符号化”类/对象的交互与责任分配方式。
这三类中又包含着丰富的具体设计模式,它们的关系be like:
同样来自https://www.runoob.com/design-pattern/design-pattern-intro.html*
设计模式介绍(课内)
下面对课程内涉及的设计模式进行介绍: