面向对象设计学习总结
1、计算机编译语言发展
计算机编程使用范围越来越广,将成为每个人必备工具,每个领域都出现自己的语言和服务
2、面向对象设计
1)面向对象设计的特性:
封装性:隐藏实现细节(控制访问)、定义接口
继承性:IS-A关系,HAS-A关系(组合)
多态性:后期绑定(虚函数)、向上转型(Up casting)
面向对象编程不是使用面向对象的语言进行编程,而是利用多态的特性进行编程
面向对象分析是将客观世界,即编程的业务领域进行对象分析。
充血模型与贫血模型
领域驱动设计DDD
2)面向对象设计的目的
高内聚、低耦合(易扩展、更强壮、可移植、更简单)
易扩展一易于增加新的功能
更强壮一不容易被粗心的程序员破坏
可移植一能够在多样的环境下运行
更简单一容易理解、容易维护
3)面向对象设计的原则
为了达成设计目标,总结出了多种指导原则
“原则”是独立于编程语言的,甚至也可以用于非面向对象的编程语言中
4)设计模式
设计模式是用于解决某种问题的通用的解决方案
设计模式也是语言中立的
设计模式贯彻设计原则
如同框架结构的大厦的框架
简化应用开发者的工作
实现了多种设计模式,使应用开发者不需要花太大的力气,就能设计出结构良好的程序来
5)框架
框架是用来实现某一类应用的结构性的程序,是对某一类架构方案可复用的设计与实现。
6)工具VS框架
框架调用应用程序代码
应用程序代码调用工具
架构师用框架保证架构的落地
架构师用工具提高开发效率
7)设计原则
版权声明: 本文为 InfoQ 作者【周冬辉】的原创文章。
原文链接:【http://xie.infoq.cn/article/e7c0977d75224e111547fc1d9】。文章转载请联系作者。
评论