Archive

Posts Tagged ‘Design Pattern’

DDD Notes

April 3, 2009 Leave a comment

Diambil dan disarikan dari casey charlton

Bounded Context

Context merupakan sisi yg berhubungan dengan bisnis sedangkan bounded context merupakan hal yg berhubungan dengan teknikal implementation
Dengan membagi aplikasi kita menjadi banyak context kita mendukung modularity, separation of concern dan loose coupling. Karena satu model tidaklah cukup untuk menggambarkan suatu permasalahan. Karena masing2 memiliki sudut pandang yg berbeda2
Read more…

Advertisements

Event Sourcing

April 3, 2009 Leave a comment

Event Sourcing
Pada pattern ini semua event yg terjadi itu dicapture dalam object dan kemudian disimpan sebagai log. Log ini berfungsi untuk proses auditing atau dapat digunakan untuk mengembalikan state dari aplikasi ke kondisi semula. Agar dapat membangun semuanya dari kondisi nol dari log maka sequecen nya harus dipertahankan.
Kegunaan log yg lain adalah untuk memperbaiki kesalahan yg dilakukan pada masa lalu. Klo di dunia accounting dinamakan dengan reversal adjustment atau retroactive change.

Jadi pada suatu aplikasi kita memiliki dua data untuk di kelola. Salah satu nya adalah application state. Data yg satu ini pasti ada di setiap aplikasi apapun. Application state ini menggambarkan keadaan aplikasi yg terkini atau current state. Yang kedua adalah event log. Event log menyimpan perubahan2 state yg terjadi pada aplikasi tersebut.
Read more…

Event Collaboration

April 3, 2009 Leave a comment

Dengan menggunakan Event Collaboration. Maka kita akan memperoleh kemudahan dalam menambahkan komponen baru. Meskipun diperlukan sedikit perubahan sudut pandang atau pola berpikir dari request response style. Komunikasi pada event collaboration dilakukan via event. Event muncul jika suatu object memiliki perubahan state. Perubahan state dari object tersebut dicapture dalam domain event dan akan dipublish oleh object yg bersangkutan. Misalnya object mobil memiliki event BensinHabis atau BanPecah dll.
Read more…

Domain Event

April 3, 2009 Leave a comment

Saya menemukan artikel bagus mengenai domain event dan hal-hal yg berhubungan dengan pemodelan event pada oo.

PoEAA
Pengenalan Mengenai Event
Domain Event

Dengan memperkenalkan event pada system kita memperoleh berbagai macam keuntungan. Salah satu yg paling mecolok adalah loose couple.
Read more…

Contoh Fluent Interface

February 4, 2009 7 comments

Fluent interface merupakan pemirikiran dari eric evans dan martin fowler. Merupakan cara untuk mengimplementasikan OO API yang tujuannya membuat code menjadi mudah dibaca. Biasanya diimplementasikan dengan method chaining. Tapi Fluent Interface lebih dari itu.

Ini adalah contoh code yg fluent dan tidak Read more…

Categories: Design Pattern Tags: ,

Command-query separation (CQS)

February 4, 2009 Leave a comment

Merupakan principle yg dicetuskan oleh Bertrand mayer. Bahwa setiap method memiliki hanya satu fungsi saja. Kalau tidak sebagai command yg melakukan aksi (biasanya ini untuk ngubah data atau state dari si object). Maka sebagai query untuk mengembalikan data ke si pemanggil. Tapi bukan keduanya. Hanya satu saja. Jadi jika kita ask ke object maka kita tidak boleh mengubah statenya. Method hanya boleh mengembalikan nilai jika tidak ada side effectnya. Read more…

Categories: Design Pattern Tags: ,

Fluent Interface

February 3, 2009 5 comments

Fluent interface itu dicetuskan oleh si Eric Evans dan Martin Fowler. Intinya adalah style interface tertentu. Tertentu gimana ? Mmm dari contoh aja … Contoh ini menggunakan TimeAndMoney library dari eric evans.

Biasanya kita bikin interval waktu dgn cara seperti ini : Read more…

Categories: Design Pattern Tags: , , ,