Dalam beberapa bulan mendatang kita akan memulai proyek di mana kita mengambil sistem yang telah kita bangun untuk klien (v1) dan membangunnya kembali dari awal. Tujuan kami dengan v2 adalah membuatnya modular, sehingga klien spesifik ini akan memiliki set modul mereka sendiri yang digunakan, maka klien lain dapat menggunakan set modul yang berbeda secara bersamaan. Kuncinya di sini adalah bahwa Perusahaan A mungkin memiliki serangkaian modul checkout dan pengguna yang mengubah cara kerja sistem itu. Perusahaan B mungkin tetap dengan prosedur checkout standar tetapi menyesuaikan bagaimana produk ditelusuri.
Apa saja pendekatan yang baik untuk arsitektur aplikasi ketika Anda membangun aplikasi dari awal yang ingin Anda miliki Core
yang dibagikan di antara semua klien sambil tetap mempertahankan fleksibilitas untuk apa pun yang akan dimodifikasi khusus untuk klien?
Saya telah melihat kait CodeIgniter dan tidak berpikir itu solusi yang baik karena kita bisa berakhir dengan 250 kait dan itu masih belum cukup fleksibel. Apa sajakah solusi lain? Idealnya kita tidak perlu menggambar garis di pasir.
sumber
RenderAction()
Saya bukan orang PHP, tetapi di sisi java-script jika Anda akan memiliki banyak modul yang Anda ingin tetap independen mungkin ada beberapa sistem untuk ini, seperti RequireJS , yang memiliki java-script modul yang menyatakan dependensi pada modul lain, dan kerangka kerja memastikan mereka dimuat saat diperlukan.
Berbagai kerangka kerja di luar sana bervariasi dalam bagaimana dependensi dideklarasikan, berapa banyak penanganan dependensi dilakukan sebagai langkah pembangunan di server, pada pemuatan halaman, atau secara dinamis berdasarkan permintaan, dan seberapa banyak Anda harus mengubah cara Anda menulis java- Anda naskah.
Kerangka kerja ini tidak berlaku sebanyak (atau mungkin sama sekali) jika kerangka sisi server Anda menangani ini atau membuat skrip java untuk Anda, tetapi Anda mungkin ingin agar skrip java Anda independen dari kerangka sisi server Anda.
Jika Anda tidak memiliki terlalu banyak java-script tetapi Anda menginginkan beberapa modularitas, Anda selalu dapat tetap menggunakan fungsi self-calling anonim yang menangani dependensi dengan memesan tag script dengan dependensi terlebih dahulu, dan mereferensikan satu sama lain dengan mendaftarkan diri dengan satu objek di namespace global. Setidaknya itu membuat mereka hampir modular dan tidak perlu biaya banyak untuk mengimplementasikannya.
sumber
Berikut adalah beberapa petunjuk tentang cara melakukan desain modular: https://class.coursera.org/saas/lecture/preview/9
juga ini: " SOA dapat dilihat dalam sebuah kontinum, dari konsep lama dari komputasi terdistribusi dan pemrograman modular , melalui SOA, dan ke praktik-praktik mashup saat ini, SaaS , ..."
Organisasi kode HMVC dengan sendirinya, tidak selalu mengarah pada modularitas.
sumber