.NET框架設計(1)
框架設計的基本概念
- 框架
- 框架的通常作用及層面
軟體開發要滿足使用者的業務需求,然後滿足編寫程式碼時的非業務需求。非業務需求有很多種:安全、穩定、易維護、易擴充套件等等。
框架的主要作用是讓我們更好地實現非業務性需求,因為其影響著業務需求的效能。良好的使用者體驗、良好的視覺效果是現代軟體必須的。 - 框架的生命週期
業務需求的一個特點就是不變性,但是業務需求是各不相同的,每個系統都有著自己獨特的需求,但是非業務需求可以在多個系統直接複用,所以,支撐非業務需求的框架也就是可以複用的。
框架在其生命週期中,為了滿足各種需求,需要不斷維護。所以框架並不是一成不變的
- 框架的通常作用及層面
框架的設計
- 確定問題域和識別變化點
首先要確定問題域,問題域就是你將要用框架解決問題的範圍。
例如通訊框架,首先是確定業務範圍,允許哪些型別的訊息通過該框架,在腦海裡要有一個大致的範圍。如圖:
確定問題域後,進一步去分析其變化點,如圖:
這對框架的整體設計起著驅動作用。
變化點的整理可以讓我們更細緻地瞭解架構,這對後面的架構選擇很重要,因為架構模型是由架構模式驅動出來的,正所謂模式驅動模型,模型驅動架構。 選擇合適的架構模式、配置變化資料、視覺化管理。
選擇架構模式的前提是你已經確定了問題域並且識別出大部分的變化點。通常是一種模式對應一種問題解決方案。根據上邊的問題域和變化點,可以大概得知即將使用的部分模式:- 通訊框架:管道模式
- 訊息:契約式設計
- 通訊埠:非同步訊息+事件驅動
- 安全:鏈式程式設計
- 壓縮:IOC注入第三方壓縮演算法
設計好架構之後,就需要將變化點配置起來,以便在需要的時候配置變化點。配置的方式基本有兩種:
- 本地靜態檔案:無需及時更新
- 遠端服務動態:執行時隨需求會變化
框架設計中另一個很重要的部分就是視覺化。
作為一個完善的框架,不僅需要在執行時穩定,而且也要保證該框架是可測試的
- 確定問題域和識別變化點
- 框架設計核心三要素:模式,配置和工具
- 框架模式:框架模式是一套針對框架設計而言的解決方法,不同的模式解決不同的問題域。
- 框架的配置:配置的存放位置、配置的讀取方式、配置資訊的生成方式等。
- 框架工具:框架的視覺化。
- 開發時:視覺化程式設計。
- 編譯時:企業級分散式框架需要在很多環境中執行,不同的環境,需要配置不同的環境資訊,這時候需要在使用框架編譯時能夠生成一些環境變數資訊。
- 執行時:日誌、監管、除錯等功能都需要框架提供。
模式是骨架,配置是變化點,工具是輔助管理從框架的架構到變化的配置,再到框架的使用工具,這是一條框架設計的指導路線。
相關文章
- .NET框架設計(常被忽視的框架設計技巧)框架
- Netty 框架學習 —— Netty 元件與設計Netty框架元件
- .NET框架設計(常被忽視的C#設計技巧)框架C#
- .Net Core後端架構實戰【1-專案分層框架設計】後端架構框架
- Dubbo框架的1個核心設計點框架
- 解析.Net框架下的XML程式設計技術框架XML程式設計
- .NET框架-微軟C#程式設計風格官方指南框架微軟C#程式設計
- ReactiveUI是.NET的Reactive程式設計擴充套件框架ReactUI程式設計套件框架
- 關於《.NET 框架設計》書中 Demo 的更正 (二)框架
- .NET框架類覽勝(下篇)(1) (轉)框架
- .NET框架類覽勝(上篇)(1) (轉)框架
- Netty | 第1章 Java NIO 網路程式設計《Netty In Action》NettyJava程式設計
- ASP.NET MVC 5 Web程式設計1 -- 入門ASP.NETMVCWeb程式設計
- [.net 物件導向程式設計基礎] (1) 開篇物件程式設計
- [.net 物件導向程式設計進階] (1) 開篇物件程式設計
- 新書出版《.NET框架設計—模式、配置、工具》感恩回饋社群!新書框架模式
- RPC 框架設計RPC框架
- 1. 揭秘Spring型別轉換 - 框架設計的基石Spring型別框架
- C++併發程式設計框架Theron(1)——Actor模型介紹C++程式設計框架模型
- C++併發程式設計框架Theron(5)——File reader(1)C++程式設計框架
- .Net程式設計師安卓學習之路1:登陸介面程式設計師安卓
- Netty實戰:設計一個IM框架就這麼簡單!Netty框架
- .Net Core 學習筆記1——包、元包、框架筆記框架
- 1. 揭祕Spring型別轉換 - 框架設計的基石Spring型別框架
- 如何從0到1設計一個類Dubbo的RPC框架RPC框架
- 工良出品,從零設計開發 .NET 開發框架:框架原始碼和教程電子書框架原始碼
- .NET框架框架
- 重建程式設計師能力(3)-asp.net MVC框架增加Controller程式設計師ASP.NETMVC框架Controller
- 設計模式1設計模式
- dubbo框架設計學習框架
- loc框架設計原則框架
- 架構、框架、設計模架構框架
- 元件/框架設計原則元件框架
- Java網路程式設計和NIO詳解9:基於NIO的網路程式設計框架NettyJava程式設計框架Netty
- Socket開發框架之框架設計及分析框架
- 從零開始實現簡單 RPC 框架 1:RPC 框架的結構和設計RPC框架
- 設計模式(06)——設計原則(1)設計模式
- 【Dotnet 工具箱】WPF UI - 現代化設計的開源 WPF 框架UI框架