程序集系統重構機房收費系統——起步

這段間時一直在查找程序集系統之類的問題,在現正好有機會和大家同享一下.

????? ? 開始機房收費系統重構也半個月過去了。但看自己的系統連一個簡略的登錄還沒有實現。自己不免有些羞愧了。近來自己的習學態狀總的說來還是不錯的。但是由于自己對來原的識知把握的欠好所以致導了自己不知如何手下。老是覺感有很多多少的問題要決解:

????

  1. 寫軟件發開檔文。
    1. 畫數據流程圖
    2. E-R
  2. uml
    1. 習學應用EA
  3. 建立數據庫
    1. 習學觸發器的應用
    2. 習學存儲過程的建了與應用
    3. 習學數據庫的范規化
    4. 習學ADO.net
    5. 習學應用SqlHelper對數據庫拜訪類的封裝。
  4. 應用設計模式
    1. 盡可能多的應用設計模式。
  5. 應用三層構架
  6. 習學應用定名范規

????? ? 把這些問題都列出來,現發都是前以學過的內容。但是由于自己時當學的不踏實在現只能回過頭來都看一遍了。返回去看了很多多少同窗的博客,覺感獲收挺大的。

????

????? ? 通過半個多月的的大習復。天幾前終究開始我的機房收費系統個人版了。先從寫檔文開始,但是我現發寫到概要設計的時候我實在是寫不下去了。原因是要寫數據字典和接口實現。記得自己版一第的機房收費系統是在系統經已實現的前提下寫的。寫檔文的時候可以看著系統一點一點的寫。自己用了那幾個法方,要需定義什么變量(當然那時候是沒有接口的觀點的)自己清晰的很。但是在現沒有做系統的時候就要把這些都寫出來。肯定是不能拿來原的系統作為參考的。那時的系統自己從來沒有慮考什么定名范規三范式的。而且那時候更沒有應用接口、設計模式。這讓我怎么寫呢。

????但是話說回來些檔文的的目就是為了便利發開的。些檔文和畫uml圖該應是要占個整發開過程80%的間時的。

????對于我這類剛體會了一點面向對象的想思的菜鳥說來,讓我做到指揮若定,決勝千里。似乎有點難了。于是我膽大的決議,在檔文只寫到了概要設計的時候我開始了程編實現。

????

????? ? 從vbc#vb.net這個適度該應說是不大的。但做得真正的靈活運用還真多得搗騰幾遍。開始用vb.net碼編時總覺感不道知如何手下了。

????但幾天的摸爬滾打總算實現了簡略的登錄。

????

????結總幾個技巧要點值得注意。。

?

????1.Shared Static關鍵字:

????參考瀏覽:

????VB.net中shared和static關鍵字的區分密解

????? ? 其中vbstatic關鍵字的用作為:

????

????? ? 在類中的static成員變量意味著它為該類的有所實例所同享,也就是說當某個類的實例修改了該靜態成員變量,其修改值為該類的其它有所實例所見;

????

????? ? vb.netshared關鍵字的用作:

?????

????? ? 同享類或結構的成員使每一個實例都可以應用該成員,而不是采取非同享模式,在非同享模式下,每一個實例都要需有自己的副本。例如,如果一個變量的值應用于個整應用程序,這點很有效。如果聲明該變量為?Shared,那么有所實例會拜訪雷同的存儲位置,而如果一個實例更改了變量值,有所實例會都拜訪更新后的值。

?????

????? ? 由此可見vb.net中的shared關鍵字的用法和vbstatic的用法是雷同的。

?????

????? ? 2.應用抽象工廠時提示:

每日一道理
青春,有嬉笑聲與哭泣聲夾雜的年華,青春的少年是藍天中翱翔的幼鷹,雖然沒有完全長大,有些稚氣,有些懵懂,脫不開父母的雙手卻極力想去找尋屬于自己的一片天空,為的是一時的激情,為的是一種獨自翱翔的覺感!

? 未能加載文件或程序集“”或它的某一個依附項。系統找不到指定的文件

????? ? 決解法方:

????

????? ? 按照三層的構架,是DALFactory程序集里通過反射創立針對特定數據拜訪層里的對應類實例,這樣BLL調用接口時就道知調用這個對應類實例里的實現法方?

????

????? ? 而反射動態加載程序集是通過這類法方 Assembly.Load("程序集").CreateInstance("定名空間."),其中的“程序集”讀取的是Webbin文件夾下對應的dll,即反射加載的程序集dllUI層的bin文件夾必須有,不然就會涌現如題的誤錯。

????需只把DAL層的異變徑路放到:UI層的bin文件夾。

????

????但這之前定一要證保一下幾點:

????

????? ? ? ? 1.反射程編求要在網站的Bin文件夾中有經已譯編好的.DLL文件(即持保DLL文件存在),并且持保稱名和譯編前庫類的稱名分歧。

????可稱:加添引用性。

?????

????? ? ? ? 2.查看網站中的目項(庫類)性屬,確認否是默許定名空間和程序集稱名以及Bin文件夾下的DLL文件稱名否是分歧,不分歧則會涌現未能加載文件或者程序集,所以的修改目項的性屬。

????可稱:稱名分歧性。

?????

????? ? ? ? 3.議建在程編的時在創立庫類的時候寫上系統稱名+目項稱名,可以有效的免避Bug產出。即:SystemName.Model或者SystemName.IDALegBBS.Model

????可稱:稱名完整性。

?????

?????Assembly.Load(path)其中這個path是加載你目項webbin目錄的程序集,也就是說你要反射的程序集在你的UIbin下定一要有,看看你引用沒有呢?

?????

????? ? ? ?4Model無引用。

?????

????? ? ? ?5DALFactory引用IDAL,通過讀取web.config里設置的程序集,加載類的實例,返回給BLL應用。

?????

????? ? ? ?6SQLServerDAL引用 ModelIDAL,被DALFactory加載的程序集,實現接口里的法方。

?????

????兩個要主的問題。大家可能也會碰到。

????當然不止是這兩個問題。而且后以的問題也定一很多。但代碼是一點點寫的不寫是永久完不成的。想手動還沒有手動重構的同窗希望對你們有助幫。

????

文章結束給大家分享下程序員的一些笑話語錄: 古鴿是一種搜索隱禽,在中國快絕跡了…初步的研究表明,古鴿的離去,很可能導致另一種長著熊爪,酷似古鴿,卻又習性不同的猛禽類——犤毒鳥

轉載于:https://www.cnblogs.com/jiangu66/archive/2013/04/30/3052180.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376711.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376711.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376711.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ie下的透明度,用濾鏡filter:alpha

.box{ width:100px; height:100px; background-color:#000; filter:alpha(Opacity50); opacity: 0.5; } 轉載于:https://www.cnblogs.com/liujinyu/p/3931087.html

mysql 修改字段類型

修改字段類型: alter table 表名 modify column 字段名 類型。 --如 alter table province_quality modify column quality float(8,2); mysql> describe province_quality ; --------------------------------------------------- | Field | Type |…

Ubuntu硬盤優化,降低硬盤溫度(Acer V5 親測成功 )

1.安裝laptop-mode-tools sudo apt-get install laptop-mode-tools2.修改電源管理配置: laptop-mode.conf sudo vim /etc/laptop-mode/laptop-mode.conf修改配置文件: #有關參數的說明請參照文件里的注釋說明 ENABLE_LAPTOP_MODE_ON_AC1 #當筆記本使用交流電時也開啟…

XmlSerializer 對象的Xml序列化和反序列化,XMLROOT別名設置

這篇隨筆對應的.Net命名空間是System.Xml.Serialization;文中的示例代碼需要引用這個命名空間。 為什么要做序列化和反序列化?.Net程序執行時,對象都駐留在內存中;內存中的對象如果需要傳遞給其他系統使用;或者在關機時…

C++智能指針使用指南 part2:智能指針本身的方法以及使用建議

目錄往期文章智能指針本身的方法對于unique_ptr對于shared_ptr對于weak_ptr使用建議1、使用工廠函數而非new構造對象2、在類內部調用其他類的方法3、在某類內部將當前對象指針共享給其他對象4、 智能指針只能管理堆對象,不能管理棧上對象5、不能將this指針直接托管給…

“/”應用程序中的服務器錯誤。

運行時錯誤 說明: 服務器上出現應用程序錯誤。此應用程序的當前自定義錯誤設置禁止遠程查看應用程序錯誤的詳細信息(出于安全原因)。但可以通過在本地服務器計算機上運行的瀏覽器查看。 詳細信息: 若要使他人能夠在遠程計算機上查看此特定錯誤消息的詳細信息,請在位…

JAVA_Collection容器

因為項目的需要,今天抽時間把JAVA中的容器復習了一下,為了以后的不時之需,現在把它記下來。 容器有其名,知其意,用來盛放數據的集合,JAVA中為我們提供了三種容器類:set、list、map,三…

對于enable_shared_from_this、shared_from_this使用筆記

文章為轉載匯總 參考:C11標準庫的一個工具類enable_shared_from_this的作用及原理分析 從這篇文章中可以知道: 當一個類public繼承enable_shared_from_this時,會獲得一個共有方法shared_from_this: class T : public enable_shar…

db file sequential read 事件的優化(一)

db file sequential read 事件的優化(一) db file sequential read等待事件有3個參數:file#,first block#,和block數量。在10g中,這等待事件受到用戶I/O等待級別的影響。當處理db fi…

2014-08-26 遇到的小問題

不能快速的保存bug的確是很不爽的事情 ,不僅客戶著急 領導也著急 ,自己也著急。。。。。。。。哈哈 原來好好的一個平臺 簡單的一個插入記錄 突然就報錯了 錯誤為 could not insert #9521 原來項目是用 NHibernate 做的插入 拋出的異常 真是無法定位到底…

Fatal error: Please read “Security“ section of the manual to find out how to run mysqld as root

.通過在命令后面加上–userroot 進行強制使用root賬號啟動。 cd /etc/init.d mysqld --userroot 參考: https://blog.csdn.net/huo_wa/article/details/117550307?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECT…

取消cp別名'cp -i'(unalias)

在rhel4updae8系統是使用cp命令覆蓋文件總是提示要輸入yes或no,即使加上-f參數也無法強行覆蓋。[2] 方法一: 輸入alias命令,看到系統內部使用的是cp的別名。 #alias alias cpcp -i 輸入unalias cp命令,解除別名。 unalias cp #&…

增加swap分區

在確定了服務器所需要使用的內存后,需要增加1024M的swap空間 具體操作: 1、dd if/dev/zero of/tmp/swap bs1M count1024M #創建1024M的文件塊 2、mkswap /tmp/swap #創建swap文件 3、swapon /tmp/swap #激活swap文件 4、swapon -s #查看swap 5、修改…

python 實現 topk算法

這里的版本是針對的一個class的某一個成員變量進行的: 關于如何定義對象的比較方法,請參考往期文章:python定義對象的比較方法 class province_room_quality_data:def __init__(self, room, quality):self.room roomself.quality qualityd…

2013年,未知的旅程

去年就開始策劃要辭職到外面去闖一闖,今年年初在上一家公司毅然辭職了,理由是自己需要出去鍛煉鍛煉。 帶著一個月的工資,和一點積蓄,還有一個女朋友來到了這個我以前都沒有來過的城市-深圳。 聽好多人都說過深圳是個好地方&#x…

SQL基礎

經過這幾天我才發現原來我最弱的是數據庫,好了現在就來補補吧 SQL(Struct Query Language) 結構化查詢語言,屬于第四代語言(接近于自然語言)符合主謂賓定狀補 DDL (Data Define L)數據定義語言,創建一個數據庫,創建一個…

主成分分析資料

推薦一份介紹主成分分析的資料:http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf,寫的很好! 在R語言中使用PCA:http://www.cnblogs.com/bigshuai/archive/2012/06/18/2553808.html 轉載于:https://…

關于mysql的binlog寫滿磁盤而導致mysql無法連接的問題。

問題描述與追蹤 首先是mysql連不上: [rootVM-90-225-centos ~]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Cant connect to local MySQL server through socket /var/lib/mysql/mysql.sock (111)然后查看mysql的狀態: [rootVM-90-225-c…

.NET系統架構改造的經驗和教訓

轉自: http://robbinfan.com/blog/43/rid-off-dotnet-experience 在互聯網行業,基于Unix/Linux的網站系統架構毫無疑問是當今主流的架構解決方案,這不僅僅是因為Linux本身足夠的開放性,更因為圍繞傳統Unix/Linux社區有大量的成熟開…