通訊小結之一
在前幾天開始敲及時通訊的**之前,我花了一天了解整個通訊需要哪些模組。又花了乙個下午設計我所需要的通訊系統的功能,我的整個通訊系統的流程,以及每個流程中需要發生哪些動作,會出現什麼問題,實現這些功能需要哪些類,每個類又需要什麼屬性,什麼方法,這些方法是要私有的還是公有的,這些類需不需要例項化物件。
在做這些考慮的時候真的有點痛苦。我覺得這個比喻很恰當,之前我學的是如何砌牆,現在要學習如何設計整個房屋。會砌牆並不一定能造出好的房屋。反觀我之前編的通訊**,耦合度很高,很難擴充。**的冗餘很大。有很大的缺欠。這兩天我學了有關**設計方面的知識,這裡做乙個小結。
**重構。**重構其實很簡單,就是把一些經常重複用到的**塊用乙個方法去封裝,這樣需要用到這個**塊的時候就只要呼叫這個方法就可以了。這樣可以使**更加簡潔,更加具有可讀性。
「***設計模式」。利用事件監聽實現介面層和訊息層的分離。原來的引數是雙向要傳的。現在用時間監聽變成單向的。這樣一方修改的時候就不需要去修改另一方。降低了**的耦合度。有利於後期的公升級修改。典型的例子是jtable的應用。
設計類。類有常量類,類裡面都是要用到的常量,通常用乙個藉口來定義這個類,需要用這些常量時直接用介面名.常量的方法呼叫。實體物件,裡面有需要該物件的屬性,以及getter和setter方法。工具類,這些類不需要例項化,為避免該類被例項化,可以將這個類的構造方法設為私有,這個類裡面的其他需要被外部呼叫的方法直接設為靜態方法,這樣就直接用類名.方法()來呼叫就可以了。邏輯物件類,將複雜的方法封裝到類內部以便於其他物件呼叫。
這些方法都很有助於提高**的質量,使**更加整潔,有可讀性,低耦合,利於修改。但是,我在設計的過程中還是會遇到很多問題。由於經驗太淺,在設計的時候,我能夠考慮到的東西實在有限。在設計比較複雜一點的系統時在設計時就亂了,在之上各種關係理亂了。所以我決定,雖然不喜歡書上的**,但還是參考書上的先做乙個。因為我發現,雖然有的時候覺得書上的**不好,但是我自己去設計以後發現自己設計的更不好。我的確還有很多要學的。先參考書上的做乙個系統出來。更加熟練後,再做乙個自己的更好的系統。
工作小結之一2018 11 18
規範 寫 要規範,變數名的設定和檔案日誌名的取法都是有講究的,養成規範後不用考慮怎麼命名不用混淆一些變數和其他名字 還有 的整理版本控制,如果有乙個專案,一些通用的指令碼或者經常要使用的工具檔案,一般會分開放,呼叫的時候很快知道檔案在 通常一些要用到的檔案,只要不是 檔案,一般不要上傳到 庫中取.學...
專案管理小結之一
學過專案管理的人可能都了解 專案 指的是什麼,其實生活中,處處皆是專案。在專案管理的過程中,還是有一些套路和方法的。工作那麼多年了,也在看相關的書籍,在看的過程中也將自己覺得重要的東西記錄下來,分享給大家。尤其是在會議中記錄的一些需要會後去行動執行的事情的記錄中,可以將干係人應用進去,乙個簡單的模板...
程序通訊之一使用WM COPYDATA
程序間通訊最簡單的方式就是傳送wm copydata訊息。傳送wm copydata訊息 sendmessage 接收視窗控制代碼,wm copydata,wparam 傳送視窗控制代碼,lparam data 其中的copydata 為copydatastruct 結構型別,該結構定義如下 typ...