[关闭]
@zhongjianxin 2017-07-25T21:57:14.000000Z 字数 1447 阅读 1074

OOP Training

Trainning


1. OOP Essential Basic

a.封装:

1.隐藏实现细节;
2.恰当地公开接口;
3.将接口和实现分开,增强可维护性;(实现细节改变时,使用该类的客户端程序不需要改变)

b.继承:

1.描述联结类的层次模型;
2.通过抽象,表达共性,实现类的重用;
3.通过子类增加方法和属性以及重写方法,表达差异性;

c.多态:

1.屏蔽子类的差异性,针对共性/接口编程;(向上转型)
2.增强可扩展性;

2.面相对象在语言中的实现:

类 : 对象 (隐喻:蛋糕烤箱 蛋糕, 试卷模板 试卷, 人 刘德华)
方法: 共有 私有 静态 构造
字段: 公有 vs 私有
属性: setter getter/ 与字段的关系
接口:
继承概念: 重写 重载 抽象方法 虚方法

3.原则:

 数据与行为应该封装在一起

当我们在分辨对象职责的时候,首要需判断该职责需要对哪些数据进行操作,进而就可以将该职责分配给这些数据的拥有者。

4.对象关系

夫运筹帷帐之中,决胜于千里之外,吾不如子房(张良)。镇国家,抚百 姓,给馈饷,不绝粮道,吾不如萧何。连百万之军,战必胜,攻必取,吾不如韩信。此三者,皆人杰也,吾能用之,此吾所以取 天下也。

5.TDD

image.png-86.7kB

重点认知
1. 测试具有业务价值,测试的粒度,测试即文档。
2. TDD增加我们的信心,促进反馈周期,价值的稳定的叠加。
3. 重构是程序员的一项有利工具。
4. 重构 — 勿以善小而不为。

6.软件开发过程

image.png-132.3kB

7.OO的目的

8.高内聚 与 低耦合

image.png-61.2kB


image.png-67kB

9.Demonstrate、Practice in ES6:

basic: 设计内容 CLass constructor getter getter extends function (instanceof Class) super
optional: private method and property
1.汽车
2.人 学生 老师 员工 关系:电脑 台式 笔记本 手机

OOP 实践

信息专家模式(Information Expert)是GRASP模式中解决类的职责分配问题的最基本的模式。
问题:
当我们为系统发现完对象和职责之后,职责的分配原则(职责将分配给哪个对象执行)是什么?

解决方案:
职责的执行需要某些信息(information),把职责分配给该信息的拥有者。换句话说,某项职责的执行需要某些资源,只有拥有这些资源的对象才有资格执行职责。

优点:
信息的拥有者类同时就是信息的操作者类,可以减少不必要的类之间的关联。
各类的职责单一明确,容易理解。

11.Extend OOD

1.Proxy mode
2.ES5 OO VS ES6 OO
3.let const in ES6

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注