我最近實現了一對相似大小的Web應用程序,其中一個使用了「框架」,其中一個我編碼自己,但使用了一組現有(主要是開源)庫來提供某些通用功能,我否則會使用框架。應用程序框架是一種反模式嗎?
我注意到以下幾點:
- 的基於框架應用肯定是更快地建立 - 它有效地工作「開箱即用」。然而隨着時間的推移,隨着更多功能的增加,維護開始變得越來越複雜。只要我需要一些不符合框架的東西,我就會被迫採取一些醜陋的解決方法。
- 基於庫的應用程序在開始時需要更多的代碼來引入和集成必要的庫,即在開始時需要編寫合理數量的粘合代碼。但隨着時間的推移,事情變得更容易擴展和重新考慮因素,因爲沒有任何適合框架設計的限制。
從這個人的經驗,我得到的印象是,使用框架可能被視爲長期應用的可維護性反模式。
這是真的嗎?
這就是我原先想的,但是這不是預先假設應用程序的範圍/複雜性是事先知道的,以便選擇正確的框架,至少達到90%的水平?在我的經驗中,你很少有這種保證的奢侈品...... – mikera
@mikera - 我會第二次認爲有好的和壞的框架,好壞是相對於你的應用。如果您懷疑您的應用將來可能需要一些奇怪的功能,那麼選擇不會干擾的框架是您的責任。只需在防守方面選擇你的工具,這就是它的全部(我認爲)。 – cji