浅谈设计模式之初

为何要设计模式

一座精美的建筑物,需要很好的工程设计图及模型。而在软件领域中,软件是由程序、文档和数据构成的,在程序编码部分,如果要编写出简单而易理解的代码,设计模式也必不可少。

设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。在面向对象的语言中,它运用类与它们的方法来达到目标。

开发人员通常会在学习编程语言,并在编写一段时间的代码之后才会考虑设计。或许我们已经注意到,某些人的代码简洁而实用,看起来很简单,设计模式提升了代码的水准,通常会使用更少的类完成目标。模式是思想的体现,而非具体的实现。学习设计模式是编程高手的必经之路。

浅谈设计模式

设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性,以及类的关联关系和组合关系的充分理解。
当然,软件设计模式只是一个引导,在实际的软件开发中,还是根据实际情况来考虑:

  • 对于简单的程序,可能写一个简单的算法要比引入某种设计模式更加容易;
  • 但是对于大型项目开发或者框架设计,用设计模式来组织代码显然更好,这样在后期维护变得简单。

设计模式是一种思想,多学习对我们在实际开发中有很多好处。它也不是Java的专属,其他语言一样可以运用设计模式。

我的学习计划及目录如下:

分类 模式
接口型模式 适配器模式、外观模式、合成模式、桥接模式
职责型模式 单例模式、观察者模式、调停者模式、代理模式、责任链模式、享元模式
构造型模式 建造者模式、工厂方法模式、抽象工厂模式、原型模式、备忘录模式
操作型模式 模板方法模式、状态模式、策略模式、命令模式、解释器模式
扩展型模式 装饰器模式、迭代器模式、访问者模式

以上分类可以按照自己很好记忆的类型名称分类,以上分类和本学习计划,参考《Java设计模式之禅》,《Java设计模式(第二版)》,其英文名《Design Patterns In Java (2nd Edition)》书籍制作。