Computer Science

Customer & Order

Updated Jul 26, 2026Computer Science/Software Architecture/Practical Knowledges/Modularity/Customer & Order

Diberikan sebuah modul seperti berikut:

Haruskah 2 entri terakhir dipisahkan jadi modul baru bernama Order Maintenance? Atau cukup dibiarkan jadi satu disana? Hasilnya mungkin seperti ini:

Sesuai hukum pertama Softect yaitu Everything in Software Architecture is a trade-off, maka jawabannya adalah “Tergantung”. Berikut pertimbangannya:

  1. Apakah dua entri tersebut hanya satu-satunya operasi untuk modul Order Maintenance? Jika iya, mungkin lebih baik digabungkan saja dengan Customer Maintenance.
  2. Apakah Customer Maintenance tampak akan berkembang jadi lebih besar? Jika iya, mungkin memang lebih baik untuk dipisah jadi module baru.
  3. Apakah Order Maintenance membutuhkan banyak informasi dari Customer? Sehingga jika kita pisahkan maka akan menghasilkan coupling yang sangat kuat supaya dia berfungsi? Jika iya, mungkin lebih baik digabungkan saja untuk mencegah coupling yang tidak perlu. Ini punya hubungan dengan apa yang disebutkan oleh Larry Constantine yaitu Attempting to divide a cohesive module would only result in increased coupling and decreased readibility.

Linked mentions