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.
Tidak ada gunanya kita membaca data dari Domain Object. Jika kita menggunakan domain object untuk operasi reading maka domain object tersebut dipaksa harus mengekspose data. Setter Getter anti pattern menyelinap di sini. Klo mw reading ya langsung dari data source (reporting db) aja. Gak usah capek2 get Aggregate Root dan ngeluarin data2nya trus isikan ke DTO. Ini salah satu yg buat lambat aplikasi.
Dengan menghilankan assembler tersebut aplikasi juga dirasakan semakin cepat. Dan kompleksitas yg tidak perlu bisa dihindarkan. Jumlah kelas menurun.
Once Again. Bye Bye Old Assembler.
jadi kelen pake apa ?
klo yg query langsung aja ke database gak melalui domain model. karena gak ada gunanya membangkitkan domain model untuk query atau reporting. kan gak ada logic atau kalkulasi
klo untuk operasi write baru pake domain model.