什么设计模式?它能干什么的?
- 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
- 任何设计模式的目的都是:减少代码冗余度,提高代码复用性。
设计模式的分类
设计模式可以大致分以下几类:
- 创建型模式。用来创建对象的模式,典型的就是 单例
- 结构型模式。主要解决类、对象、模块之间的耦合。典型的就是适配器模式(从一个接口变成另一个所希望的接口)
- 行为型模式。用来识别对象之间的常用交流模式并加以实现。典型的是观察者模式(一个目标对象管理者所有依赖它的观察者对象,并在它本身状态改变时发出通知)
- 架构模式。告诉我们如何架构一个系统,往往关注多个职位如何平行地同时工作,构建一个软件系统的多种技术。典型的是MVC
一点建议
不要只使用具体类来编程,优先使用抽象类和接口来编程。
因为使用具体类来解决问题,很容易导致类之间的强耦合,这些类也难以被作为组件再次利用。为了弱化类之间的耦合,进而使得类变得更加容易作为组件被利用,我们需要引入抽象类和接口。
约定
之后我会在博客中写一些关于设计模式的文章。在每篇文章中,尽量包含以下小节:
- What?是什么?
- How?怎么用?
- Why?为什么用?
or
When?什么时候用?
其他
2017.3 :笔者在写了部分笔记后,在与小伙伴之间分享时发现并不是那么“有效”——小伙伴们更希望结合实际业务场景进行讲解。故此笔者将会在之后推出结合ZStack
中用到设计模式相关分析的文章。敬请关注。