重构的小故事 Change Bidirectional Association to Unidirectional or Vice Verse

“低耦合,高聚合”是程序设计中追求的一个目标。但耦合对于软件设计也是必不可少的,否则软件就是一盘散沙,永远动不起来。单向关联和双向关联就是两种常见的耦合。
                         
某天有人想争取你这个客户而索要你的电话号码。如果你根本不感兴趣,你可以很坚决的拒绝“对不起,我不需要”。如果你想留有余地就可以委婉地回应“要不给我一个你的号码,我需要的时候联系你吧”。尽管你可能永远也不会打这个电话,但这样可以将关联限制在单向关联。
 
又有一天你如果遇到一个心仪已久的 MM ,鼓起勇气对她说。“可以给我个你的号码吗?这是我的号码希望以后可以常联系”。这种情况下你就期待可以建立双向关联。
 
如果在软件设计当中可以“尊重”所设计对象,待设计对象如己,也就会很自然地在它们自己建立适当的关联。

你可能感兴趣的:(重构,职场,休闲,association,association,Bidirectional,Unidirectional)