我已閱讀「設計模式」一書中的四人幫,該框架影響應用程序的整體架構。現在我知道例如使用.NET時,您需要從System.Windows.Form
繼承來創建表單(雖然我認爲我在這裏有一個很大的誤解,)。但任何人都可以使用任何框架在代碼中描述框架如何影響應用程序體系結構?框架如何影響應用程序的結構?
回答
大約有話題了一些有趣的筆記Wikipedia:
軟件框架由凍點和熱點組成。凍結 斑點定義了軟件系統的整體架構(...)。 這些在 應用程序框架的任何實例化中保持不變(凍結)。熱點代表那些使用框架的程序員添加他們自己的代碼(...)的部分。
據此,您的應用程序可以由您正在使用的框架來定義。例如,在使用Struts框架的Java World中,意味着您使用的是MVC architecture,或者使用Spring Framework強制您應用Dependency Injection Pattern。如果軟件架構是由軟件模式定義的,那麼一些框架是預先構建的模式供您使用。另一方面,沒有任何軟件應用程序僅由Patterns/Frameworks製作,而Hot Spots是有用的:它們是Software Frameworks提供的擴展/使用框架功能並根據你的要求和領域。
例如,假設您正在使用Spring MVC Framework構建Web應用程序。在項目中配置Framework之後,您的應用程序的每個請求都將被委派給一個名爲DispatcherServlet
的類。這個類是內置在框架中,你不應該修改它,所以它是一個凍結點的完美例子。 DispatcherServlet
將查找您的項目配置並將請求處理委託給Controller
。 Controller
通常是由程序員製作的類,並負責處理請求。所以你的手工製作的控制器,它是一個熱點爲你擴展框架。
而DispatcherServlet是Front-Controlller Patttern的實現,並且Controller的使用是典型的MVC應用程序;所以你的應用程序被你正在使用的框架高度定義。
在不同框架中傳遞,存儲或評估數據的方法有多種。如果您使用的是Windows窗體應用程序,則可以從項目的任何位置訪問您的視圖元素,因爲它們全部位於計算機的本地內存中,而不在其他位置。
但是,如果您使用的是ASP.NET應用程序,那麼消費項目,客戶端和服務器的方面會有所不同,而且事情會變得更加複雜。你所做的設計幾乎沒有什麼共同的形式。
如果您使用的是ASP.NET MVC應用程序,則有三個層次:ModelViewController,並且操作分爲這些層次,從現在開始,您需要以適合這些層次的方式進行設計。你有MVC提供的數據庫表 - 對象關係,可以完全改變設計。
另外編程語言躺在程序下改變設計,因爲它可以是功能性的,等
總之面向對象的,這不是一個問題建設性。在使用不同的編程語言和技術之後,你會找出這個問題的答案。
正如我在問題中所解釋的那樣,我想知道框架如何影響應用程序,我相信它有一個很深的一面,那就是我想知道的。我不希望埃裏克伽瑪不小心拋出這樣的話。無論如何,我認爲你誤解了我的問題先生,不過謝謝你。 –
我必須說一個乾淨的架構(也稱爲設計模式)並不依賴於正在使用的框架,工具包或庫。體系結構描述了軟件系統(層和層)的高層結構,而不是詳細描述它是如何實現的。它是一組幫助我們實現安全性,可用性,可擴展性,可靠性,可用性,可用性等特定目標的原則。讓我們看一個簡單的示例:
模型視圖控制器(MVC)是一個軟件體系結構(或設計模式)將域的建模,表示和基於用戶輸入的操作分爲三個獨立的類。 MVC背後的核心思想是代碼的可重用性和關注點的分離。您可以使用多種編程語言或類似ASP.Net MVC,Java的支柱,PHP乾燥,CakePHP的框架應用MVC ....
假設您設計了一個框架,您的框架可能會影響您的框架用戶如何構建其應用程序的方式? ASP.NET MVC強制你遵循MVC模式,但這並不意味着你不能在ASP.NET中應用MVC,對吧? –
- 1. iOS,嚮應用程序添加框架,影響性能
- 2. 鎖屏如何影響應用程序?
- 3. MonadCatchIO的問題將如何影響使用Snap框架構建的應用程序?
- 4. 構建Web應用程序的框架
- 5. Rails:應用程序框架的體系結構
- 6. Web應用程序測試框架的組織和結構
- 7. 實體框架 - WPF/MVVM應用程序中的基礎結構
- 8. 使用Eclipse for Java應用程序對框架代碼的影響分析
- 9. 從ios應用程序中刪除結構框架
- 10. 開源桌面應用程序體系結構/框架?
- 11. 實體數據框架和Web應用程序體系結構
- 12. 如何構建實體框架應用程序(使用MEF)
- 13. 代碼的重構會影響應用程序的性能嗎?
- 14. 文件夾結構是否會影響Windows Phone應用程序的性能?
- 15. 影響所有應用程序的CultureInfo
- 16. iPhone4 960x640 - 對應用程序的影響?
- 17. Perfmon對應用程序的影響
- 18. 如何爲許多應用程序構建鳳凰傘框架
- 19. 如何從框架中查看應用程序構建設置
- 20. Alljoyn框架Raspberry Pi和Alljoyn Android應用程序不會互相影響?
- 21. ATG Dynamo應用程序框架框架
- 22. 'client_min_messages'設置如何影響使用libpq的應用程序?
- 23. Android應用程序架構
- 24. Web應用程序架構?
- 25. Silverlight應用程序架構
- 26. Web應用程序架構
- 27. Android應用程序架構?
- 28. 如何簡化應用程序結構?
- 29. 如何在實體框架操作期間讓我的應用程序響應?
- 30. 消息框影響我的程序
我更關心凍結點如何限制你。 –
我添加了一個例子,使其更加清晰 –