Dari banyak ketemu dengan para developer, system analyst bahkan software architect..kadang kalanya ada suatu pertanyaan yang kadang membingungkan. pertanyaan tersebut apa hubungan antara Object Oriented dan Patterns? Well, ini pertanyaan sederhana tapi sangat komplek kalau kita mau mendetailkan untuk mendapatkan kedudukan dari keyword tersebut.
Secara singkat jawaban atas pertanyaan tersebut adalah bahwa OO (object oriented) tidak sama bahkan bisa jadi tidak ada hubungannya dengan patterns (OO!=Patterns). Ingat..ingat..ingat..Patterns itu generics yang mana bisa diimplementasikan dengan abstraction yang berbeda-beda sehingga patterns bisa dikatakan sebagai generic solution template yang implementasinya diserahkan ke masing-masing implementator. Akibat dari ini bisa jadi suatu patterns akan diimplementasikan dengan cara yang berbeda. Ambil contoh Observer Patterns, dari gambar dibawah ini menunjukkan 2 model class diagram untuk implementasi Observer Patterns:
Sedangkan OO sendiri merupakan a way of life in software development sehingga seorang developer mesti bisa menggunakan bahkan mengimplementasi filosofi dari OO itu sendiri. Kedudukan OO sendiri terhadap Patterns hanyalah “Helper“ karena didalam pattern bila tidak menguasai OO juga bisa implementasi Pattern alias hajar blah karena target patterns tidak hanya untuk OO software development tetapi juga non OO software development akibatnya banyak Pattern yang tidak berbasis OO.
Dari pengalaman pribadi dan kompilasi beberapa pengalaman teman...semakin memahami filosofi OO maka semakin mudah untuk implementasi Patterns. Apapun kedudukan, level atapun posisi dalam software development...OO bisa menjadi bacaan wajib minimal high level dari OO itu sendiri.