美文网首页
GeekBand C++ 李建忠老师 设计模式

GeekBand C++ 李建忠老师 设计模式

作者: 带三本书 | 来源:发表于2015-08-28 00:01 被阅读940次

第一讲

课程目标

理解松耦合设计思想

掌握面向对象设计原则

掌握重构技法改善设计

掌握GOF核心设计模式

GOF设计模式

历史性著作《设计模式:可复用面向对象软件的基础》,介绍了23种设计模式。

通常看过这本书的人都知道书的正标题,但是少有人会在意输的副标题:可复用面向对象软件的基础。可复用是设计模式的目标,面向对象是一种技术手法。

通常所说的设计模式隐含是面向对象设计模式,但是不等于说设计模式就是面向对象设计模式。

从面向对象谈起

面向对象隐含着两种思维模型,底层思维抽象思维

底层思维是指:向下,如何把握机器底层,从微观理解对象构造。如语言构造、编译转换(李老师在这里吐槽c++难学的一点就是c++的编译器在背后会做很多工作),内存模型,运行时机制。

抽象思维是指:向上,如何将我们的周围世界抽象为代码程序。如面向对象,组件封装,设计模式,架构模式。

深入理解面向对象

向下:深入理解三大main相对象机制

封装,隐藏内部实现

继承,复用现有代码

多态,改写对象行为

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

个人感触是多态的功能比继承来的更为强大,在代码解耦和、复用方面都更强大。同时,封装、继承、多态是面向对象的核心,要时刻记住这三点,面向对象设计模式也是围绕这三点展开的。

软件复杂的根本原因

软件复杂的根本原因是变,如果加上一个修定,就是频繁的变,特别容易就变。很多外行人会觉得写代码的人就是坐在电脑前,敲敲键盘就能解决问题,觉得很简答啊、没什么难的,但其实这是个误解。写代码很难,写好代码、没有错误的代码,是一种极高的技艺,的确不是那么简单的。

如何解决复杂性?

分解:人们面对复杂性有一个常见的做法,即分而治之

相关文章

  • GeekBand C++ 李建忠老师 设计模式

    第一讲 课程目标 理解松耦合设计思想 掌握面向对象设计原则 掌握重构技法改善设计 掌握GOF核心设计模式 GOF设...

  • GeekBand C++ 李建忠老师 设计模式

    第二讲 策略模式 动机: 在软件的构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象...

  • lxidea的 Boolan C++设计模式 学习笔记(一)

    本周我们进入到了C++设计模式的学习当中,教授这门课的老师是李建忠。 在本周的课程中,李老师的授课不再特别放在代码...

  • GeekBand C++设计模式

    5.对象创建 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持...

  • 第十二周 C++设计模式 Boolan 李建忠

    “对象创建”模式 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而...

  • 第十三周 C++设计模式 Boolan 李建忠

    “对象性能”模式 面向对象很好的解决了“抽象”的问题,但是不可避免地要付出一定的代价。对于通常情况来讲,面向对象的...

  • 第十一周 C++设计模式 Boolan 李建忠

    1. 设计模式简介 课程目标 理解松耦合设计思想 掌握面向对象设计原则 掌握重构技法改善设计 掌握GOF 核心设计...

  • c++设计模式(一)--GeekBand

    一 策略模式策略模式和 Template 模式要解决的问题是相同(类似)的,都是为了给业务逻辑(算法)具体实现和抽...

  • 【geekband】C++设计模式1

    具体详见我的博客:(作业的码在博客最后)design patterns责任是思考面向对象设计的一个观点从概念层面,...

  • C++设计模式(一) GeekBand

    好的软件设计是多用代码复用,但实际设计中却要遇到许多变化,而变化是复用的天敌。为了能够尽量减少变化所带来的设计复杂...

网友评论

      本文标题:GeekBand C++ 李建忠老师 设计模式

      本文链接:https://www.haomeiwen.com/subject/sjbhcttx.html