從開發框架提高開發效率說起
在我們接觸的很多專案中,如果有一些參考性的專案框架,那麼做起開發來,事半功倍,一般來說搭建或者積累這些框架性的專案,非一日之功。一般我們可以把具體的專案分為Winfrom、Web、微信、或者Socket等方面,具體專案介面表現不同,但是介面層底下的應該都是差不多的結構,能夠支援多種資料庫的接入,提供更好的介面封裝,以便重用,實現最優化程式碼的處理。
軟體系統隨著業務的發展,變得越來越複雜,不同領域的業務所涉及到的知識、內容、問題非常非常多。如果每次都從頭開發,那都是一個很漫長的事情,且並不一定能將它做好。基於穩定成熟的框架,開發專案,技術和時間都有保障,同時可以利用前人高效的工具進行輔助開發,從而事半功倍。
1、框架的主要特點和要求
從一些資料來解讀下開發框架的特點,如下所示:程式碼模板化、重用、高內聚(封裝)、規範、可擴充套件、可維護、協作開發、通用性。
1、程式碼模板化
框架一般都有統一的程式碼風格,同一分層的不同類程式碼,都是大同小異的模板化結構,方便使用模板工具統一生成,減少大量重複程式碼的編寫。在學習時通常只要理解某一層有代表性的一個類,就等於瞭解了同一層的其他大部分類結構和功能,容易上手。團隊中不同的人員採用類同的呼叫風格進行編碼,很大程度提高了程式碼的可讀性,方便維護與管理。
2、重用
開發框架一般層次清晰,不同開發人員開發時都會根據具體功能放到相同的位置,加上配合相應的開發文件,程式碼重用會非常高,想要呼叫什麼功能直接進對應的位置去查詢相關函式,而不是每個開發人員各自編寫一套相同的方法。
3、高內聚(封裝)
框架中的功能會實現高內聚,開發人員將各種需要的功能封裝在不同的層中,給大家呼叫,而大家在呼叫時不需要清楚這些方法裡面是如果實現的,只需要關注輸出的結果是否是自己想要的就可以了。
4、規範
框架開發時,必須根據嚴格執行程式碼開發規範要求,做好命名、註釋、架構分層、編碼、文件編寫等規範要求。因為你開發出來的框架並不一定只有你自己在用,要讓別人更加容易理解與掌握,這些內容是非常重要的。
5、可擴充套件
開發框架時必須要考慮可擴充套件性,當業務邏輯更加複雜、數量記錄量爆增、併發量增大時,能否通過一些小的調整就能適應?還是需要將整個框架推倒重新開發?當然對於中小型專案框架,也不必考慮太多這些內容,當個人能力和經驗足夠時水到渠成,自然就會注意到很多開發細節。
7、可維護
成熟的框架,對於二次開發或現有功能的維護來說,操作上應該都是非常方便的。比如專案要新增、修改或刪除一個欄位或相關功能,只需要簡單的操作,十來分鐘或不用花太多的工夫就可以搞定。新增一個數據表和對應的功能,也可以快速的完成。功能的變動修改,不會對系統產生不利的影響。程式碼不存在硬編碼等等,保證軟體開發的生產效率和質量。
8、協作開發
有了開發框架,我們才能組織大大小小的團隊更好的進行協作開發,成熟的框架將大大減輕專案開發的難度,加快開發速度,降低開發費用,減輕維護難度。
9、通用性
同一行業或領域的框架,功能都是大同小異的,不用做太大的改動就可以應用到類似的專案中。在框架中,我們一般都會實現一些同質化的基礎功能,比如許可權管理、角色管理、選單管理、日誌管理、異常處理......或該行業中所要使用到的通用功能,使框架能應用到某一行業或領域中,而不是隻針對某公司某業務而設定(當然也肯定存在那些特定功能的應用框架,這只是非常少的特殊情況,不在我們的考慮範圍)。
2、基於Winform混合式開發框架和Bootstrap開發框架的基礎分析
在很多場合,一般如果是做Winform桌面的應用,我會推薦客戶使用《Winform混合式開發框架》,如果是基於Web的專案開發,一般推薦客戶採用《Bootstrap開發框架》。
1) 《混合式開發框架》混合了傳統《Winform開發框架》、《WCF開發框架》和Web API介面框架的特點,可以在直接訪問資料庫、利用WCF服務獲取資料、利用Web API服務獲取資料三者之間自由切換,統一了系統介面層對業務服務的呼叫模式,所有元件模組均實現三種方式的呼叫,是一種彈性化非常好的框架應用,既可用於單機版軟體或者基於區域網內的應用軟體,也可以用於分散式技術的網際網路環境應用,是一種成熟穩定、安全高效的技術框架。
由於混合型框架,既可以用於傳統Winform系統開發,也可以用於WCF分散式系統開發,還可以用於輕型高效的Web API的分散式系統開發(目前廣泛應用的介面方式),因此環境適應性強;而且由於模組具有這些特點,可重用性更高,特別對於通用性的模組,更是具有無可替代的優越性。
2) 基於Metronic的Bootstrap開發框架
該開發框架介面部分採用較新的Bootstrap技術,採用當前最新的Bootstrap3.x,集成了眾多功能強大的Bootstrap外掛。
Bootstrap是一個前端的技術框架,很多平臺都可以採用,JAVA/PHP/.NET都可以用來做前端介面,整合JQuery可以實現非常豐富的介面效果,目前也有很多Bootstrap的外掛能夠提供給大家使用,本框架集合了眾多最為優秀的外掛,能給我們Web的使用者體驗提升到一個前所未有的水平。
Metronic是一個國外的基於HTML、JS等技術的Bootstrap開發框架整合,整合了很多Bootstrap的前端技術和外掛的使用,是一個非常不錯的技術框架。本框架以這個為基礎,結合我對MVC的Web框架的研究,整合了基於MVC的Bootstrap開發框架,使之能夠符合實際專案的結構需要。
框架後臺採用基於C#的MVC技術,是目前.NET開發最為成熟流行的技術,框架後臺資料庫支援Oracle、SqlServer、MySql、Sqlite、Access等常規資料庫,可通過配置進行自由切換,使用Enterprise Library模組進行資料訪問的控制,使得資料訪問更方便輕鬆。
3、框架的各個特點的說明
上面介紹了開發框架的一些共性,概括總結幾點:程式碼模板化、重用、高內聚(封裝)、規範、可擴充套件、可維護、協作開發、通用性。
1)程式碼模板化
我們的框架系列,無論是Winform開發框架,Web開發框架、Bootstrap開發框架等框架系列,都是一脈相承的特點,所有類程式碼都統一的程式碼風格,各個專案以及分層目錄都是按照統一的命名方式進行構建,易讀易理解,整個框架的程式碼,包括專案底層BLL、DAL、Entity等層的程式碼,以及Winform介面層、或者Web介面層,都可以利用工具統一生成(我們根據專案介面特點構建對應的模板檔案),減少大量重複程式碼的編寫。
這些結構利於使用程式碼生成工具(Database2Sharp,我們為框架快速開發量身定做的軟體工具)進行專案程式碼的生成
2) 重用
由於我們在專案開發中,採用了一些模組化的方式來組裝專案,可以簡單的理解為積木組合的方式。如許可權管理模組、字典管理模組、自動更新模組、人員管理模組、通訊錄管理模組、分頁控制元件、公用類庫等方面,這些可以在專案中根據情況採用對應的模組,非常高效,整個主體框架也有對應接入這些模組的案例程式碼供參考,因此可以更加直觀明瞭。
而另一方面,我們在對類的重用方面,也是精益求精,儘量做到精簡重複程式碼,提高開發效率的目的。
介面類提供封裝繼承,減少介面的一些繁瑣設定
基礎業務類,我們同樣也是採用重用基類方式,實現介面函式的封裝處理。
以及業務類繼承關係,當然還有其他更多的,基本上都提供一些基類來處理,簡化程式碼。
3) 高內聚(封裝)
從上面小節可以看出,整個框架巨集觀方面分為多個功能模組,可以自由搭配使用;微觀方面都有一個繼承關係的基類來對相關的程式碼進行封裝處理,這樣開發人員將各種需要的功能封裝在不同的模組或者基類裡面,從而實現高內聚的處理。
Web API的控制器設計物件繼承關係,如下所示:
4) 規範
我們的整個框架系列,嚴格執行程式碼開發規範要求,做好命名、註釋、架構分層、編碼、文件編寫等規範要求,這樣我們只需要瞭解一個專案的結構,其他專案依次類推,就可以明確各個分層的意義,一葉知秋,管中窺豹就是這個道理,我們可以通過這些知識積累,指導我們其他同事進行專案開發,大家在規範上統一一致就可以步調統一,從而在單位內部擁有更高的開發效率。
其他框架的特點,如可擴充套件、可維護、協作開發、通用性,也就不再贅述,基本上,整個框架就是為了方便構建專案而搭建,大的方面可以使用開發好的模組,小的方面可以繼承封裝好的類庫,整個呼叫的邏輯過程也是經過實踐的考驗,在眾多國內外公司的專案中使用過,同時也獲得非常多的反饋,共同促進整個框架體系的發展。
相關推薦
【轉】從開發框架提高開發效率說起
在我們接觸的很多專案中,如果有一些參考性的專案框架,那麼做起開發來,事半功倍,一般來說搭建或者積累這些框架性的專案,非一日之功。一般我們可以把具體的專案分為Winfrom、Web、微信、或者Socket等方面,具體專案介面表現不同,但是介面層底下的應該都是差不多的結構,能夠支援多種資料庫的接入,提供更好的介面
從開發框架提高開發效率說起
在我們接觸的很多專案中,如果有一些參考性的專案框架,那麼做起開發來,事半功倍,一般來說搭建或者積累這些框架性的專案,非一日之功。一般我們可以把具體的專案分為Winfrom、Web、微信、或者Socket等方面,具體專案介面表現不同,但是介面層底下的應該都是差不多的結構,能夠支援多種資料庫的接入,提供更好的介面
前端開發 如何提高工作效率
反省了一下自己最近的狀態。 有點過於依賴外在的環境,把提升自己的工作效率放在了是否有 外界人力 幫忙、是否有 硬體支援,而忽視了對自身的要求。 改變環境,還是讓自己適應這個環境,哪個對將來的發展更有幫助? 拓寬知識面 當你掌握的東西多了,就可以用更高效的方法來提升
Android 專案模組化開發,提高開發效率。
把Demo放在第一!!! 隨著需求的增加,程式碼量隨之變得龐大、臃腫。於是產生了很多影響開發效率的問題。 例如: 1. 方法數超過65K。 2. 程式編譯執行一次至少1-2分鐘。 3. 程式碼變得難以管理,影響閱讀及修改效
ASP.NET強大技術支撐,LeaRun V7.0敏捷開發框架——敏捷開發模塊
框架 LeaRun是一款基於.net的敏捷開發框架,框架內置角色、表單、工作流、向導式智能開發組件、即時通訊組件、APP開發組件、微信組件、通用權限等一系列組件,軟件開發人員可以通過一系列簡單配置快速開發出OA、ERP、CRM、HRM、SAAS、MIS、移動APP、微信等眾多高質量信息系統。
ASP.NET強大技術支撐,LeaRun V7.0敏捷開發框架——敏捷開發模組
LeaRun是一款基於.net的敏捷開發框架,框架內建角色、表單、工作流、嚮導式智慧開發元件、即時通訊元件、APP開發元件、微信元件、通用許可權等一系列元件,軟體開發人員可以通過一系列簡單配置快速開發出OA、ERP、CRM、HRM、SAAS、MIS、移動APP、微信等眾多高質量資訊系統。 官網:www.
ASP.NET Aries 開源開發框架:開發指南(一)
前言: 上週開源了Aries開發框架後,好多朋友都Download了原始碼,在執行過程裡,有一些共性的問題會問到。 所以本篇打算寫一下簡單的開發指南,照顧一下不是太看的懂原始碼的同學,同時也會講解一下框架原理。 關於框架: 首先,這是一套開發框架,它類同於WebForm、MVC、.NET Co
推薦25款很棒的 HTML5 開發框架和開發工具【上篇】
HTML5 在不同的領域讓網頁設計更強大的。快速,安全,響應式,互動和美麗,這些優點吸引更多的 Web 開發人員使用 HTML5。HTML5 有許多新的特性功能,允許開發人員和設計師建立應用程式和網站,帶給使用者桌面應用程式的速度,效能和體驗。 這篇文章整理了25款優秀的 HTML5 框架和開發工具
12款免費HTML5開發框架和開發工具…
HTML5 在不同的領域讓網頁設計更強大的。快速,安全,響應式,互動和美麗,這些優點吸引更多的Web開發人員使用HTML5。HTML5有許多新的特性功能,允許開發人員和設計師建立應用程式和網站,帶給使用者桌面應用程式的速度,效能和體驗。 這篇文章整理了25款優秀的HTML5框架和開發工具可以幫助你
框架--加強綜合能力,提高開發效率
框架 開發效率 開發人員 tro 優點 提高 讀取數據 圖層 工作 python常用的web開發框架:flask、django、tornado 使用框架的優點:穩定性和可擴展性強,可以降低開發難度,提高開發效率,提高代碼的復用率,避免重復造輪子 使用框架對開發人員的綜合能力
MySQL,Oracle,PostgreSQL通過web方式管理維護, 提高開發及運維效率
數據庫管理系統 遠程服務 .com gre ava window 開發 功能 mss 在開發及項目運維中,對數據庫的操作大家目前都是使用客戶端工具進行操作,例如MySQL的客戶端工具navicat,Oracle的客戶端工具 PL/SQL Developer
RDIFramework.NET ━ .NET快速信息化系統開發框架 V3.2-> Web版本新增新的用戶權限設置界面效率更高、更規範
繼承 添加 角色 介紹 灰色 範圍管理 開發框架 條件 我們 在實際應用中我們會發現,權限控制會經常變動,如:需要調整角色的分配,需要收回與授予某些角色、用戶可訪問的模塊(菜單)與相應的操作權限、需要給某些角色添加與移除相應的用戶等等,如果沒有一個靈活可靠的配置管理工具
RDIFramework.NET ━ .NET快速信息化系統開發框架 V3.2->WinForm版本新增新的用戶權限設置界面效率更高、更規範
信息 再次 列表 等等 級聯 沒有 有一個 提示 left 在實際應用中我們會發現,權限控制會經常變動,如:需要調整角色的分配,需要收回與授予某些角色、用戶可訪問的模塊(菜單)與相應的操作權限、需要給某些角色添加與移除相應的用戶等等,如果沒有一個靈活可靠的配置管理工具將
RDIFramework.NET ━ .NET快速信息化系統開發框架 V3.2->Web版本新增新的角色授權管理界面效率更高、更規範
rdiframework 工作流 快速開發框架 web前端 權限系統 角色授權管理模塊主要是對角色的相應權限進行集中設置。在角色權限管理模塊中,管理員可以添加或移除指定角色所包含的用戶、可以分配或授予指定角色的模塊(菜單)的訪問權限、可以收回或分配指定角色的操作(功能)權限、可以對所有
Android Stuido 提高開發效率的插件
中文 uid selected 英語 fault 生成 方法 單詞 font 好久沒有更新博客了,最近搞個listview搞得半死不活的,心累~~ 今天帶來的是Android Studio插件的整理,全是我已經安裝使用的,寫這篇博文的目的也是因為我怕我自己給忘記怎
能夠提高開發效率的Eclipse實用操作
bsp detail csdn eclipse 實用 lan 能夠 sdn ref 能夠提高開發效率的Eclipse實用操作 http://blog.csdn.net/icing9520/article/details/51984146 能夠提高開發效率的Eclipse實
微信公共號(企業號)開發框架-gochat的從零開始教程(三): 智慧機器人模版
感恩節來啦,把自己這個開源框架的挖的坑填一下好了~ 之前在第一章的時候就給大家展示過我自己寫的一個智慧聊天機器人,同時具有菜譜查詢、智慧翻譯之類的功能,在這裡我把這個機器人的程式碼開源啦:gochat機器人 這樣大家就可
微信公共號(企業號)開發框架-gochat的從零開始教程(一): 前期準備及環境搭建
最近開發了一個基於go語言的微信公共號/企業號的開發框架——gochat, 可以用來進行微信公共號/企業號的快速開發 gochat的架構是在 beego的基礎上完成的,而beego是一個非常強大的HTTP 框架框架(騰訊、京東、360、微博都有平臺使用了beego),
微信公共號(企業號)開發框架-gochat的從零開始教程(二): 5分鐘快速搭建自己的公共號
上一章裡我們把前期準備和環境配置已經完成啦,本章講一下怎麼通過5分鐘快速搭建自己的公共號~ 首先,前往github頁面下載gochat框架的原始碼 ,原始碼中已經包含了一個最基礎的公共號開發模版。(這裡非常非常希望大家在下載的
從零開始完整搭建 Spring-Boot 專案開發框架的教程
前言 難度:簡單 型別:step-by-step 適用:初學者,完全沒有接觸過 Spring-Boot 開發環境:jdk 1.8 關鍵詞:java, sring-boot, spring-mvc, restful 筆者環境:macOS 1. 專案建立 1.1 使用腳手架生成專案