2015年12月4日 星期五

Bridge


Intent

  • Decouple an abstraction from its implementation so that the two can vary independently.
  • Publish interface in an inheritance hierarchy, and bury implementation in its own inheritance hierarchy.
  • Beyond encapsulation, to insulation

Problem

"Hardening of the software arteries" has occurred by using subclassing of an abstract base class to provide alternative implementations. This locks in compile-time binding between interface and implementation. The abstraction and implementation cannot be independently extended or composed.

有時因不同原因
導致abstract class 和implementation 相依性太重
無法讓各自獨自發展。

Motivation:






Structure:



沒有留言: