
设计模式是软件设计中常见问题的典型、可复用的解决方案。它们就像是编程中的“棋谱”或“菜谱”,能帮助我们写出更灵活、可维护和可扩展的代码。
这里简单介绍一些最常见和核心的设计模式,主要来自经典的“GoF”(四人帮)23种模式,可以分为三大类:
关注点: 如何创建对象,将对象的创建与使用分离。
new一个出来。
关注点: 如何将类或对象组合成更大的结构。
FileInputStream 被 BufferedInputStream 装饰,增加了缓冲功能)。
关注点: 对象之间的职责分配和通信。
HttpServlet。
模式 | 分类 | 一句话核心 |
|---|---|---|
单例 | 创建型 | 保证一个类只有一个实例。 |
工厂方法 | 创建型 | 子类决定创建哪个对象。 |
抽象工厂 | 创建型 | 创建一整套相关的产品。 |
建造者 | 创建型 | 分步骤地构建复杂对象。 |
适配器 | 结构型 | 转换接口,使不兼容的类能协作。 |
代理 | 结构型 | 控制和管理对原始对象的访问。 |
装饰器 | 结构型 | 动态地给对象添加新功能。 |
外观 | 结构型 | 为复杂子系统提供一个简单接口。 |
观察者 | 行为型 | 状态改变时,自动通知所有依赖者。 |
策略 | 行为型 | 封装算法,使它们可以互换。 |
模板方法 | 行为型 | 定义算法骨架,子类重写特定步骤。 |
初学者可以先从单例、工厂方法、观察者、策略这几个最常用的模式入手,理解它们的意图和适用场景,然后在自己的项目中尝试应用。记住,不要为了用模式而用模式,模式是为了解决实际问题而存在的。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。