原创 裝飾者模式

裝飾者模式:動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。 這幅類圖以及上面的文字已經把設計模式的要點解釋得很清楚了。這個實現中使用了繼承,也可以使用接口實現。 裝飾者模式會出現大量小類,這是其

原创 觀察者模式

觀察者模式:定義了對象之間的一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知並自動更新。 主題和觀察者定義了一對多的關係。只要主題狀態一有改變,觀察者就會被通知。 下面是觀察者模式的類圖: 這張圖

原创 策略模式

策略模式:定義算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。 下面的這張圖很好地詮釋了策略模式: 這張類圖中定義了兩種算法族,FlyBehavior和QuackBehavior。du

原创 Unix路徑“/”和“//”

在看《Unix環境高級編程》,作者編譯一個檢測目錄中各種文件類型的數量和佔比的小程序。使用編譯後的文件,發現目錄後面有“/”和沒有“/”,結果是一樣。同時,程序中沒有對這兩種情況做任何處理。於是,在程序中加了printf打印文件路徑。發現

原创 Struct passwd 和 struct spwd

《UNIX高級環境編程》中沒有給出struct passwd和struct spwd。查閱資料,如下: struct passwd { char * pw_name; /* Username, POSIX.1 */

原创 修改《Unix環境高級編程第二版》程序清單4-7

修改了《Unix環境高級編程第二版》程序清單4-7,使用chdir變換當前工作目錄,使用文件名字而不是文件路徑進行處理。通過測試,運行效率提高了。測試環境爲CentOS 6.5 #include "apue.h" #include

原创 OO設計思想

OO基礎:抽象,封裝,多態,繼承 OO原則: 封裝變化 多用組合,少用繼承 針對接口編程,不針對實現編程 爲交互對象之間的鬆耦合設計而努力 對擴展開放,對修改關閉 點贊

原创 UML類圖幾種關係的總結

 在UML類圖中,常見的有以下幾種關係: 泛化(Generalization),  實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependenc

原创 STM32使用掃描模式採集信號

正在做一個項目,使用STM32F103。同時要採集兩個信號,故使用了ADC1的PA1和PA3,採樣模式爲連續模式和掃描模式。爲了保證採樣率較準確地採樣率,使用了DMA1。代碼中做了詳細的說明,故不再累述。其中遇到了一個。當再次採集

原创 Linux的ACL權限

當Linux的傳統權限(user,group,others)不夠用時,可以通過ACL權限實現相應的設定。比如green文件夾的owner爲Green,group爲Market,且others無任何權限。但是有一個項目,Sale的T

原创 Struct group

在《Unix高級環境編程》中沒有給出struct group 的具體定義,網上搜索也沒有。自己就find了一下linux的文件系統,找到了”/usr/include/grp.h“,這個文件中定義了struct group ,如下

原创 進程組,會話和控制終端

轉自:http://shake863.javaeye.com/blog/187085 看了《Unix高級環境編程》,不是很清楚這三個概念。看了這篇文章,感覺寫得不錯,就轉載了。 將闡述Linux內核中的如下幾個概念 1) 進程

原创 工廠方法模式

工廠模式: 定義了一個創建對象的接口,但由於子類決定要實例化的類是哪一個。工廠方法讓類實例化推遲到子類。 使用工廠模式,把對象的創建委託給工廠對象,實現了對象的創建和對象的使用解耦。若要增加或則改變對象,只需要修改工廠對象。對象

原创 HTML5--有感

拜讀了 Peter Lubbers 的《HTML5程序設計-第二版》。原以爲HTML5只是HTML4的升級版,直接被顛覆了。HTML5可以說有革命性的意義,有點像把本地應用的功能特性搬到網上的感覺。 1.canvas,提供強大的繪圖能力,

原创 sublime安裝和使用

(1). 下載地址:http://www.sublimetext.com/3 (2) 註冊碼: —– BEGIN LICENSE —– Andrew Weber Single User License EA7E-855605 81