Kerangka kerja secara alami mempengaruhi desain modul dan sub-sistem khusus (seperti front-end GUI). Seperti jawaban lain yang disebutkan, Anda akan mengalami kesulitan jika Anda menemukan diri Anda berjuang melawan kerangka pilihan Anda.
Namun secara lebih luas, Anda harus menghindari membiarkan kerangka tunggal atau teknologi mendikte atau mengarahkan "gambaran besar" dari keseluruhan arsitektur sistem Anda. Sebagian besar kerangka kerja tujuan umum tidak mendorong ini, jadi jika Anda menemukan diri Anda menulis seluruh sistem Anda di satu kerangka kerja maka Anda mungkin melakukan sesuatu yang tidak dimaksudkan oleh penulis kerangka kerja itu.
Anda mungkin akan menggunakan banyak kerangka kerja yang berbeda untuk menyelesaikan masalah yang berbeda; karena sistem Anda menjadi lebih kompleks, Anda perlu berhati-hati untuk tidak membangun The Big Ball Of Mud . Jika memungkinkan, jaga agar sistem Anda tetap modular dan longgar. Beberapa kerangka kerja mungkin lebih baik disimpan di belakang abstraksi dengan menulis pembungkus dan adaptor yang 'menyembunyikan' alur kerja khusus Kerangka jauh dari komponen lain. Toolkit GUI cenderung hanya melayani fungsionalitas GUI front-end, sehingga modul GUI tersebut harus dijauhkan dari sisa sistem.
Kerangka kerja tujuan umum (seperti kerangka kerja UI, kerangka kerja lapisan data, dll.) Tidak ada untuk meresepkan arsitektur lengkap sistem Anda - paling banyak mereka mungkin meresepkan desain komponen atau modul; misalnya, beberapa teknologi GUI diarahkan untuk pola MV * tertentu.
Arsitektur keseluruhan sistem Anda terutama harus didorong oleh persyaratan bisnis Anda . Anda mungkin mendapati diri Anda sangat bergantung pada alat tertentu (misalnya, alat pesan middleware, atau kerangka kerja ORM) untuk mengikat semuanya, tetapi jika Anda merangkum kerangka kerja dalam abstraksi seperti kelas 'layanan' yang Anda Kecil kemungkinannya untuk menemukan diri Anda dibatasi oleh kerangka itu ketika Anda menemukan keterbatasannya.
Coba perhatikan hal-hal berikut untuk desain gambar besar Anda: