昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

设计模式(C++ 版本)

目标

理解松耦合设计思想
掌握面向对象设计原则
掌握重构技法改善设计
掌握GOF 核心设计模式

参考书

设计模式
可复用面向对象软件的基础

Design Patterns
Elements of Reusable
Object-Oriented software

什么是设计模式

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

思维模式

底层思维

底层思维:向下,如何把握机器底层
从微观理解对象构造
·语言构造
·编译转换
·内存模型
·运行时机制

抽象思维

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

深入理解面向对象

向下:深入理解三大面向对象机制
·封装,隐藏内部实现
·继承,复用现有代码
·多态,改写对象行为

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

软件设计复杂的根本原因

        变化
~~~~~~~~~~~~~~~~~~
·客户需求的变化
·技术平台的变化
·开发团队的变化
·市场环境的变化
        ......

如何解决复杂性?

分解

人们面对复杂性有一个常见的做法:即分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题。

抽象

更高层次来讲,人们处理复杂性有一个通用的技术,即抽象;由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节,而去处理泛化和理想化了的对象模型。

posted on 2018-06-28 18:49  Indian_Mysore  阅读(151)  评论(0编辑  收藏  举报

导航