2.1间接原则
1.任何计算机问题均可通过增加一个间接层来解决
2.间接层的例子
文件系统中的了路径,HTTp中的 URI,数据库中的外键。程序中的遍历等都具有指代作用。
3.抽象的意义在于:一方面掩盖了具体的细节。提高代码的简洁渡,另一方面赋予明确的语义,提高代码的清晰度,
而间接层的意义在于:一方面建立了名与实的映射,提高代码的一致性和可维护性。另一方面实现名与实的分离,提高代码的
灵活性和扩展性。
4.良好的标准应当是一系列规范的集合。而规范实为显化得抽象,间接层离不开标准,标准离不开规范,规范离不开抽象。
5.首先考虑封装,它把相关的数据和运行包装后再设置方为控制,外界无法直接操作被隐藏的数据,只能通过公开接口间接地读取或
改写这些数据
类的公开接口及API担任了间接层的角色,成为外界与内部实现之间的桥梁,在使用者看来,API访问服务类的唯一中介;
在维护者看来,服务类可以自由更换具体实现而不担心影响客户类,进一步,人们还能在客户类与服务类插入新的间接层接口
在该接口编译器为实现类所继承,在运行期通过多态机制绑定实现类
6封装带来的接口与实现的分离,使得类的api成为间接层,从而完成数据抽象;继承和多态带来的接口与实现的分离,使得类的超类型
成为间接层,从而数据抽象升级为多态抽象