《 面向对象葵花宝典 思想、技巧与实践》读书笔记

前言:不管瀑布还是敏捷开发流程都可以分为几个阶段:需求分析、系统设计、编码实现、测试部署

内容主要就是4点:面向对象的基础、实战;面向对象的技巧;面向对象用在架构设计中。

 

一、面向对象基础

(1)程序=数据结构+算法。计算机本质是面向过程的,每个阶段都是输入,处理,输出大概三个步骤。

(2)面向对象更侧重于现实世界的模拟,没有面向过程那样的中央调度器,而是设计很多对象不需要执行严格的操作顺序,建立很多方法和对外界刺激作出反应。

人大部分时间都是按照面向对象思考的,上到公司每个职位对象,桌子,花盆都是对象。

(3)面向过程和计算机是息息相关的,今天的C语言,操作系统,协议栈,驱动系统都是面向过程的代表。对于工业系统来说,面向过程的缺点是微不足道的,比如一条生产线,原料和流程相对固定,可能延续几年甚至几十年不变。

(4)面向对象开头比面向过程效率低,但是设计类设计得好,扩展性会更好,也更能随时应对客户的新需求和需求变更的情况。

(5)中文的可扩展性对应的英文有2种解释:extensibility(指需求变化后能够容易的扩展满足需求)和scalablity(系统访问压力增加后,能够简单的通过添加更多硬件设备支撑压力,也叫做可伸缩性)。

(6)软件质量的评估标准包括:成本、性能、可靠性、安全性、可伸缩性、可扩展性、可维护性、可移植性。面向对象主要解决的就是可扩展性。

(7)面向对象还是面向过程只是一种思维,跟具体语言没有关系,面向对象编程不等于面向对象语言。

(8)设计的类的属性基本原则遵循属性最小化原则,比如一个地址,是否要划分省市区,如果只是一个字段展示可以只设计一个字段,但如果都要单独显示,那就需要设计3个字段,场景不确定那就设计3个字段也就是遵循属性最小化原则。

(9)设计的类的方法遵循单一化原则,尽量一个方法只做一件事。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章