成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Winform開發框架之通用附件管理模塊

開發 后端
在做Winform項目的時候,一直有一個夢想,就是希望把所有的組件模塊組合即可組裝成一個完整的項目系統(或者至少可以大部分完成)。這即使是夢想,我也一直為之奮斗,每前進一步,我們離夢想就靠近一步。

在做Winform項目的時候,一直有一個夢想,就是希望把所有的組件模塊組合即可組裝成一個完整的項目系統(或者至少可以大部分完成)。這即使是夢想,我也一直為之奮斗,每前進一步,我們離夢想就靠近一步。因此,本著這個夢想,我一路走來,開發整理了一系列的組件模塊,包括底層的公用類庫、Winform分頁控件、通用的適應多數據庫的查詢組件,以及相對高層次一點的組件模塊:通用權限管理系統、通用字典管理模塊、通用程序自動更新模塊、以及本篇隨筆介紹的通用附件管理模塊,當然還會有更多的組件模塊會吸引我繼續朝著夢想前進。除了這些,為了提高開發效率,從設計好的數據庫,直接生成項目代碼,從05年開始至今,一直完善我的代碼自動生成工具 Database2Sharp。下面的附圖,是我對于目前Winform開發框架以及將來的發展規劃,朝著夢想前進,用博客園記錄我的前進軌跡以及感想。

本片隨筆,還是落地生根,繼續介紹我的Winform開發框架中的一環,通用附件管理模塊。該模塊其實是很通用的一個模塊,例如我們的一些日常記錄,可能會伴隨著有圖片、文檔等的附件管理,如果為每個業務對象都做一個附件管理,或者每次開發系統都重新做,那么效率肯定沒有直接采用通用的附件管理那么方便快捷了。而且在日益增多的項目管理中,我們不需要維護一大堆相同或者類似的代碼,而且我的組件都是內置支持多數據庫的,對不同的數據庫,只需要適當配置即可正常使用,對于組件化的基礎性平臺以及支持多數據庫等方面,特別是項目管理等方面,頗具爭議及傳奇色彩的園友,吉日嘎拉在文章《分享從帶頭拼死拼活開發軟件項目到不去現場異地坐鎮遠程遙控照樣可以把上海的軟件項目管理好》就有很好的闡述,其實他這些總結很實在,有著很好的基礎基類(自己構建的或者購買的)總比從頭來過的強,術業有專攻,更是厚積薄發積累的體現。

1、多數據庫支持模塊

我的一貫做法,就是所有的模塊,為了應付未知的項目需求,都做成多數據庫支持的,雖然看似麻煩了一點,但是由于我提煉的框架,數據庫訪問類都高度抽象化及完好的封裝,因此即使增加多種數據庫的支持,其實需要調整的地方極少。

對于上面幾種數據庫的支持,一般來說,需要增加不同數據庫類型的BaseDAL,由于每個不同數據庫都需要擁有一個BaseDAL,那么很多相同的操作代碼就會發生冗余,因為大多數數據庫的基礎操作是一樣的,只有一部分比較特別,需要進行個性化處理,因此對數據訪問層進行優化設計,得到下面的設計圖,如下所示。

經過框架抽象,這個BaseDAL類代碼很少,基本上通用的數據庫操作,已經放到了AbStractBaseDAL超級基類進行封裝,即使對于一些不同數據庫操作不同,我們也盡可能抽象放到上面基類了,BaseDAL只需要實現一些特殊的操作即可。

2、模塊控件化,***化降低開發工作

為了減少重復開發,要求控件盡可能考慮實際的需求情景。一般來說,我們在數據編輯界面,會有兩個需求,一個是管理與數據記錄對應的附件列表,一個是維護自己的附件信息,下面對這兩個需求進行描述和講解。

1)管理與數據記錄對應的附件列表

首先我們創建一個獨立的控件,用于放到編輯數據記錄窗口里面,如下所示。

這樣在項目中集成(如數據編輯窗口),直接拖動這個控件到界面中,運行就可以看到下面的效果了。

由于一般創建記錄的時候,給他指定一個GUID的附件組ID,這樣我們在數據記錄保存前,我們就可以上傳附件了,如下所示。

而且在這個過程中,可以隨時查看自己在該記錄中已經上傳的附件。

如果附件不夠,可以隨時啟動上傳操作,附件支持多選文件,然后一次性,啟動后臺線程操作方式,把文件上傳及附件記錄保存到數據庫,界面如下所示。

2)維護自己的附件信息 

 有時候,我們需要管理自己的個人附件,還需要知道自己在業務模塊中上傳過哪些附件,這兩個是比較常見的場景,這樣我們開發一個界面來管理查看這兩類附件,就可以滿足大多數的要求了,如下所示。

因為個人附件或者業務附件都可能比較多,甚至隨著業務的增長,數量可能激增,那么分頁就很有必要,如上圖下發就是利用我的分頁控件模塊(純分頁控件模塊,不含列表),這個分頁控件集合是我博客介紹得比較多的一個控件來的,而且這個是其中之一的純分頁控件,可以適用于所有分頁的場景,而不僅僅是用來顯示二維表這么簡單。當然,這個純分頁控件的使用也是簡單易用的,可以用在各種需要分頁顯示的場合中,這個ListView就是其中之一,還可以用在圖片展示等更多場景。

3、集成圖片查看控件

由于是附件管理,因此有可能上傳各種文件,包括Word文檔、Excel文檔、壓縮文件,以及各種類型的圖片,因此為了方便對圖片的查看,這個控件集成了圖片查看控件,可以非常方便直接讀取圖片附件的數據流作為對象展示,該圖片控件支持對圖片的滾動放大縮小、左右翻轉、選擇放大、圖片移動、保存圖片等功能,不需要查看,直接使用ESC退出即可。

當然對于其他不是圖片的格式附件,由于不知道或者很難直接查看,因此提示用戶保存到本地然后提示打開查看即可,如下所示。

4、集成到WCF開發框架中

為了最可能、***程度的體現系統界面的一致性和應用完備性,我也開發了適用于WCF開發框架的附件上傳模塊,這樣就可以在更多的開發場合上使用,而且由于附件管理模塊的集中化,更加方便維護代碼了。

其實WCF開發框架模式下的附件管理更有意義,因為如果是純粹的本地文件管理,可能體現不出網絡化的附件管理優勢,這樣通過WCF的架構,所有的附件數據都可以在各個不同的地方、各個不同的網絡環境下進行訪問,分布式的優勢更加明顯,這也是WCF開發框架的相同優勢。

以上就是我對附件管理模塊的封裝,希望朝著WInform業務模塊組件化、最終產品高度定制化的理想前進,以最快的速度搭建好最終產品,以高穩定性和統一性的組件界面或者客戶的信賴和贊許。

進一步來說,我的模塊化的Winform開發框架,對開發業務系統的企業來說,甚至只需要個別人掌握組件代碼的維護和更新,讓更多的開發人員投入到實際的業務開發或者控件使用的陣營中去即可,既可有效保護產品的安全性和統一性,也可以更高效率的開發一個新系統,而不需要企業什么基礎性模塊都需要開發人員參與,重新弄出一堆很難統一化的基礎性產品來。回應開頭的一句話,就是術業有專攻,更是厚積薄發的積累的體現。

原文鏈接:http://www.cnblogs.com/wuhuacong/archive/2012/12/10/2812014.html

責任編輯:林師授 來源: 博客園
相關推薦

2011-11-14 10:41:15

Winform數據管理模塊Items

2012-08-21 11:26:17

Winform

2013-04-23 09:31:12

Winform開發框架

2011-11-23 09:47:36

Winform

2012-11-20 10:04:46

Winform開發

2012-07-30 09:32:00

Web

2009-11-30 08:38:35

WinForm

2025-01-16 14:11:55

開發框架LikeAdmin

2018-08-09 16:32:49

內存管理框架

2016-03-23 11:05:58

Socket開發框架分析

2009-08-20 09:30:03

C#開發WinForm

2009-08-20 10:24:52

C#開發WinForm

2014-08-07 10:26:19

setattachme

2021-08-09 07:29:54

PythonCasbinPython基礎

2009-10-13 11:32:19

Winform假框架

2012-09-10 10:00:02

2022-05-26 15:28:03

網絡管理Socket 模塊

2010-09-25 13:09:39

UISymbian

2019-10-18 16:05:32

框架開發Java

2011-04-22 10:45:14

SimpleFrame
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本特黄特色aaa大片免费 | 伊人免费观看视频 | h视频免费观看 | 国产精品美女久久久久aⅴ国产馆 | 国产欧美日韩精品一区 | 国产一区二区三区在线 | 日韩久久久久久 | 国产激情一区二区三区 | 国产99热精品 | www久久| 免费精品视频在线观看 | 99久久婷婷国产综合精品电影 | 免费一级片 | 波多野结衣一区二区 | 久久精品二区亚洲w码 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 精品免费视频一区二区 | 国产99久久精品 | 好姑娘高清在线观看电影 | 亚洲综合大片69999 | 久久日韩粉嫩一区二区三区 | 男女视频免费 | 精品免费视频一区二区 | 日韩一级不卡 | 天天操夜夜看 | 亚洲一区二区网站 | 在线观看黄色大片 | 成人国产综合 | 国产成人高清成人av片在线看 | 在线观看精品 | 91视频网| 二区三区av| 久久中文字幕一区 | 久久久91 | 亚洲精品久久久久中文字幕欢迎你 | 亚洲电影第1页 | 国产成人精品久久二区二区91 | 午夜影院中文字幕 | 男人的天堂久久 | 91在线看片| 特级黄一级播放 |