Skip to content

Middle Man

sourcemaking

Penjelasan Smell

Middle Man adalah class yang isinya hanya delegasi saja, tidak ada behavior lain selain delegasi ke class lain.

Perhatikan LinkedList.java dan ShoppingCart.java. ShoppingCart melakukan add pada LinkedList. Namun ternyata di dalam LinkedList, dia hanya delegasi ke java.util.Vector.

Penyelesaian

Hapus si Middle Man, yaitu LinkedList. Sekarang di package after, class ShoppingCart langsung mengakses java.util.Vector.

Tambahan

Ada beberapa design pattern yang memang dirancang untuk delegasi, seperti: Adapter, Proxy, Bridge, Facade atau Mediator. Namun dalam design pattern ini bukan sekadar delegasi mentah-mentah, ada sedikit fitur di dalamnya. Design pattern ini masuk ke dalam Gang of Four Design Pattern, akan kita pelajari di semester depan.

Created by Saugi