标签:style blog color io os 使用 ar java sp
亲!
最看Head First设计模式、深感比大话设计模式更深、当初感觉策略与工厂结合特别不爽、因为还要改工厂、这次直接用接口选择、不修改、只扩展、呼呼、听说有好多人看这个有难度、其实我看也有很多迷糊的、也许是因为与大话设角度的问题吧、这次从新总结了类图之间的关系、重在代码、是什么的知识就不讲了。
依赖关系(Dependency)---关联关系(Association)---聚合(Aggregation)---组合(Composition)---泛化(Generalization)
<span style="font-size:18px;">Public class Father{ //父亲类 } Public class son extends Father{ //儿子类继承父亲类 }</span>
<span style="font-size:18px;">//买手机接口 Public interface BuyIPhone{ //买手机方法 Public void Buy(); } Public class Father{ //父亲类实现买手机方法 Public void Buy(){ //买手机代码略 }; }</span>
<span style="font-size:18px;">Public class IPhone{ //具体方法略 } //1、方法中声明或new Public class chen{ Public void Usephone(){ IPhone chenphone;//声明 IPhone chenphone = new IPhone();//New了一个手机的对象 }; } //2、当做方法的参数 Public class chen{ Public void Usephone(IPhone chenphone){ //实现略 }; }</span>
这个与关联蛮像的、但是这个声明是在类里的、而不是某个方法。
<span style="font-size:18px;">//依赖的声明和NEW是在方法外面的 Public class chen{ IPhone chenphone;//声明 IPhone chenphone = new IPhone();//New了一个手机的对象 Public void Usephone(){ }; }</span>
发生依赖关系的两个类都不会增加属性。其中的一个类作为另一个类的方法的参数或者返回值,或者是某个方法的变量而已。
发生关联关系的两个类,其中的一个类成为另一个类的属性,而属性是一种更为紧密的耦合,更为长久的持有关系。
依赖关系是仅当类的方法被调用时而产生,伴随着方法的结束而结束了。
关联关系是当类实例化的时候即产生,当类销毁的时候,关系结束。相比依赖讲,关联关系的生存期更长。
B类构造时候、在自身类中NEW了一个A对象、B对象释放、A对象随之释放。
<span style="font-size:18px;">Publicclass Bird{ <span style="white-space:pre"> </span>Public Wing wing; <span style="white-space:pre"> </span>Public void Bird(){ <span style="white-space:pre"> </span>wing =new Wing; <span style="white-space:pre"> </span>}; }</span>
B类构造时从类外传进一个对象A、B对象释放、A对象还在外面没释放。
<span style="font-size:18px;">Publicclass BirdGroup{ <span style="white-space:pre"> </span>Public Bird bird; <span style="white-space:pre"> </span>Public void BirdGroup(Bird b){ <span style="white-space:pre"> </span>bird =b; <span style="white-space:pre"> </span>}; }</span>
页数 |
原则 |
9 |
找出变化的、把他们独立,不和不需要变化的混在一起 |
11 |
针对接口编程、而不针对实现编程。 |
23 |
多用组合、少用继承 |
53 |
为交互对象之间的松耦合努力 |
86 |
开放扩展、关闭修改 |
139 |
依赖抽象、不依赖具体 |
265 |
最少知道原则:只和密友谈话 |
339 |
一个类应该只有一个引起变化的原因 |
标签:style blog color io os 使用 ar java sp
原文地址:http://blog.csdn.net/u010191034/article/details/39780513