23种设计模式之设计模式简介

Posted tingtingzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式之设计模式简介相关的知识,希望对你有一定的参考价值。

设计模式

这几天在看GoF的《设计模式——可复用面向对象软件的基础》,发现晦涩难懂,在网上搜索视频教程,搭配学习。李建忠老师讲的”设计模式“教程,循序渐进,非常棒。

写下笔记,吸收更快

什么是设计模式

每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动

——Christopher Alexander

从面向对象谈起

  1. 底层思维:向下,如何把握机器底层,从微观理解对象构造

    • 语言构造

    • 编译转换

    • 内存模型

    • 运行时机制

  1. 抽象思维:向上,如何将我们的周围世界抽象为程序代码

    • 面向对象

    • 组件封装

    • 设计模式

    • 架构模式

深入理解面向对象

  1. 向下:深入理解三大面向对象机制

    • 封装:隐藏内部实现

    • 继承:复用现有代码

    • 多态:改写对象行为

  2. 向上:深刻把握面向对象机制所带来的抽象意义,理解如何使用这些机制来表达现实世界,掌握什么是“好的面向对象设计”

软件设计复杂的根本原因——变化

  • 客户需求的变化

  • 技术平台的变化

  • 开发团队的变化

  • 市场环境的变化

   变化不断冲击软件结构,摧毁我们的设计!

如何解决复杂性?

  1. 分解

    分而治之,大问题->多个小问题,复杂问题->多个简单问题

  2. 抽象

    由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节,而去处理泛化和理想化了的对象模型

软件设计的目标

什么是号的软件设计?软件设计的金科玉律:复用!!!

以上是关于23种设计模式之设计模式简介的主要内容,如果未能解决你的问题,请参考以下文章

23天设计模式之代理模式

23种设计模式简介

设计模式之各种设计模式总结与对比

JAVA 23种设计模式简介

设计模式

Python工程之设计模式总结Python之23种设计模式