Archive
Bye-Bye Assembler
Assembler pattern merupakan satu ciri khas dari aplikasi yg menggunakan Remote Facade. Fungsinya adalah mengconvert data yg ada dari domain object ke DTO (data transfer object) agar bisa ditransfer melalui network.
Setelah mendengar pencerahan2 dari milis DDD dengan pentolan2 nya Greg Young dan Udi Dahan mengenai topik CQRS. Assembler sebenarnya merupakan hal yg tidak perlu dilakukan. Assembler juga menyebabkan aplikasi menjadi lambat karena seringkali kita harus melakukan looping, convert dsb.
Read more…
[DDDD] Delta based dan Domain
Delta based change merupakan konsep utama
Pada pendekatan repository terdahulu adalah kita menyimpan object pada state yg terakhir ke data store. Pendekatan yg dilakukan oleh greg young adalah dia tidak melakukan hal tersebut tetapi menyimpan perubahan2 atau delta perubahan dari aggregate root tersebut.
Pada pendekatan repository yg terdahulu konsep perubahan tersebut pada domain object implicit. Kita hanya mengetahui state sekarang tanpa mengetahui apa2 saja yg telah terjadi pada object itu mulai dari dia di create.
Pada DDDD implicit konsep tersebut diubah jadi explicit dan merupakan bagian dari domain language/Ubiquitos Language.
Read more…
[DDDD] Perubahan pada Repository
Sebagian besar orang menggap bahwa repository merupakan abstraksi dari collection dimana object tinggal disana. Perubahan yg dilakukan pada DDDD adalah object2 yg tinggal pada repository bertanggung jawab untuk mengetahui perubahan statenya.
Contoh nyatanya adalah Order yg berinteraksi dengan Repository. Order hidup di dalam repository. Order akan memberikan perubahan2 yg terjadi pada dirinya semenjak dia dibuat. Repository kemudian menanyakan perubahan itu dan bertanggung jawab terhadap apa yg akan dilakukan perubahan tersebut. Salah satu yg dapat dilakukan oleh repository adalah melewatkannya ke pipeline atau langsung melakukan processing ke database.
Read more…
DDDD (Distributed Domain Driven Design)
Domain yg dihadapi oleh Greg Young penemu DDDD adalah Stock Market Analytic Data dimana system tersebut terkoneksi dengan sub system lain di Toronto, New York, dll. Subsistem tersebut mengirimkan message dalam jumlah yg besar setiap second. Message-message yg masuk ke system utama dimodelkan dengan DDD. Keperluan pemodelan dengan DDD pada situasi tersebut adalah agar dapat melakukan algorithmic trading, strategy test, long term analytic.
Read more…