Saya sedang mengerjakan proyek perangkat lunak di mana kami harus membangun tiga API. Satu untuk saluran home banking, satu untuk saluran agensi dan yang ketiga untuk saluran seluler .
API agensi adalah yang paling lengkap karena memiliki semua fungsionalitas .. lalu API Beranda yang sedikit lebih kecil dan kemudian API seluler.
Arsitek di sini membuat layer umum (layanan lintas saluran EJB yang dibagikan oleh semua API). Tetapi kemudian API berbeda.
Tidak ada perbedaan besar untuk saat ini antara API. Tim besar mulai dengan saluran agensi, dan kami mengadaptasinya sekarang untuk saluran rumah. Kami hanya memperkaya objek khusus ke aplikasi rumah kami. Kalau tidak, kodenya 95% sama antara API. API dibangun di atas Spring MVC , dan memiliki (pengontrol, model & beberapa utilitas).
Pada dasarnya pengontrol melakukan pemetaan BO ke ChannelObject (menurut saya bukan tempat yang tepat untuk melakukan itu), dan beberapa utilitas tambahan dan serializers. Semua duplikat untuk saat ini. Mereka mengatakan bahwa alasan untuk duplikasi adalah mereka ingin API independen. "Jika besok kita menginginkan perilaku yang berbeda untuk rumah daripada agensi atau ponsel, kita tidak akan berjuang !!"
Apakah ada kasus di mana kita harus menerima kode duplikat?