We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
设计模式的概念最早出现于建筑学领域,建筑学家 Christopher Alexander 对设计模式的定义如下:
每个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次的使用该方案而不必做重复劳动。
面向对象隐含了两种思维模型:
底层思维:向下,如何把握机器底层,从微观理解对象构造
抽象思维:向上,如何将我们的周围世界抽象为程序代码
向下:深入理解三大面向对象机制
向上:深刻把握面向对象机制所带来的抽象意义,理解如何使用这些机制来表达现实世界,掌握什么是“好的面向对象设计”
软件大师 Grady Booch 在 Object-Oriented Analysis and Design with Applications 一书中提到:
建筑商从来不会去想给一栋已建好的100层高的楼房地下再新修一个小地下室——这样做花费极大且注定要失败。然而令人惊奇的是,软件系统的用户在要求作出类似改变时却不会仔细考虑,而且他们认为这只是需要简单编程的事。
软件设计复杂的根本原因是变化:客户需求的变化、技术平台的变化、开发团队的变化、市场环境的变化。。。
人们面对复杂性有一个常见的做法:即分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题。
更高层次来讲,人们处理复杂性有一个通用的技术,即抽象。由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节而去处理泛化和理想化的对象模型。
软件设计的金科玉律:复用
The text was updated successfully, but these errors were encountered:
No branches or pull requests
设计模式
什么是设计模式
设计模式的概念最早出现于建筑学领域,建筑学家 Christopher Alexander 对设计模式的定义如下:
从面向对象谈起
面向对象隐含了两种思维模型:
底层思维:向下,如何把握机器底层,从微观理解对象构造
抽象思维:向上,如何将我们的周围世界抽象为程序代码
深入理解面向对象
向下:深入理解三大面向对象机制
向上:深刻把握面向对象机制所带来的抽象意义,理解如何使用这些机制来表达现实世界,掌握什么是“好的面向对象设计”
软件设计固有的复杂性
软件大师 Grady Booch 在 Object-Oriented Analysis and Design with Applications 一书中提到:
软件设计复杂的根本原因
软件设计复杂的根本原因是变化:客户需求的变化、技术平台的变化、开发团队的变化、市场环境的变化。。。
如何解决复杂性
1. 分解(主要用于结构化编程)
人们面对复杂性有一个常见的做法:即分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题。
2. 抽象(主要用于面向对象编程)
更高层次来讲,人们处理复杂性有一个通用的技术,即抽象。由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节而去处理泛化和理想化的对象模型。
软件设计的目标
软件设计的金科玉律:复用
The text was updated successfully, but these errors were encountered: