原创 中介者模式/Mediator

中介者模式/Mediator 意圖/適用場景: 中介模式的用意是用一箇中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的交互。 面向對象設計鼓勵將行爲分佈到各個對象中。

原创 我的友情鏈接

51CTO博客開發

原创 解釋器模式/Interpret

解釋器模式/Interpret 意圖/適用場景: 給定一個語言,定義它的文法的一種表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。 解釋器模式並不是一種應用很廣泛的模式,因爲它特別適合用來解釋語言,而在一般的軟件系統

原创 ARM-LINUX的進程切換

本文主要記錄S3C6410/ARM1176JZF-S架構下Linux(kernel 2.6.35)內核如何進行進程切換。 進程切換是操作系統進程調度的基礎,首先要能夠實現切換,接下來才談得上“多進程”、“多線程”以及調度算法等更高級的話

原创 Linux內核線程

本文以ARM架構爲例,講解linux的內核線程是如何創建的。 Linux內核在完成初始之後,會把控制權交給應用程序。只有當硬件中斷、軟中斷、異常等發生時,CPU纔會從用戶空間切換到內核空間來執行相應的處理,完成後又回來用戶空間。 如果

原创 迭代器模式/Iterator

迭代器模式/Iterator 意圖/適用場景: 迭代器模式的應用在Java語言中司空見慣。 迭代器(Iterator)與聚集(Aggregate)的概念密不可分。聚集是能夠包容一組對象的容器對象,不同種類的聚集組織這些對象的方式是不

原创 策略模式/Strategy

策略模式/Strategy 意圖/適用場景: 策略模式是針對一組算法,將每一個算法封裝到具有共同接口的獨立類中,從而使得它們可以互換。這樣做的好處是,客戶端可以以插件的方式更換算法。 電子商務網站的購物車系統是一個策略模式非常適用的

原创 《挪威的森林》(二)

《挪威的森林》是一本純粹的愛情小說,只講愛情。其中有很多處關於性愛的敘述,只能說是敘述而不能說是描寫,因爲沒有多少細節的描述。 給人的感覺是,這裏把“性”看得很自然,就是生活中的一部分,也並不隱藏,也並不覺得性這東西有什麼特別的地方,不

原创 《挪威的森林》(三)

最後,我想說一說《挪威的森林》裏的死亡。 小說的主人公是“我”——渡邊。但是回憶起來總覺得直子纔是真正的主人公,因爲小說所涉及的幾個重要話題主要都是圍繞着直子,比如“死亡”這個話題。 直子的姐姐在她十二歲時毫無徵兆地在家裏自己的臥室自

原创 不變模式/Immutable

不變模式/Immutable 意圖/適用場景: “不變類”是這樣一個類,它的內部狀態創建後,在整個生命期間都不會發生變化。使用不變類的做法叫做不變模式。 不變類允許被多個對象共享,降低了對該對象進行併發訪問時的同步化開銷。如果需要修

原创 模版方法模式/Template Method

模版方法模式/Template Method 意圖/適用場景: 模版方法模式其實是一種應用很廣泛的模式,特別是在使用抽象類的時候。 模版方法模式中必然有一個核心的抽象類,不能是接口。聲明一些抽象方法,這些方法由子類來做各不相同的實現

原创 Linux內核線程

本文以ARM架構爲例,講解linux的內核線程是如何創建的。 Linux內核在完成初始之後,會把控制權交給應用程序。只有當硬件中斷、軟中斷、異常等發生時,CPU纔會從用戶空間切換到內核空間來執行相應的處理,完成後又回來用戶空間。 如果

原创 橋樑模式/Bridge

橋樑模式/Bridge 意圖/適用場景: 橋樑模式的意圖在於把“抽象”與“實現”解耦合,把強關聯轉變爲弱關聯。 所謂強關聯,就是在編譯時期已經確定的,無法在運行時期改變的關聯;所謂弱關聯,就是可以動態地確定並且可以在運行時期動態地改

原创 備忘錄模式/Memento

備忘錄模式/Memento 意圖/適用場景: 備忘錄對象是一個用來存儲另外一個對象內部狀態的快照的對象。 備忘錄模式的用意是在不破壞封裝的條件下,將一個對象的狀態捕捉住,並存儲起來。在將來合適的時候把這個對象還原到存儲時的狀態。

原创 命令模式/Command

命令模式/Command 意圖/適用場景: 命令模式是對命令的封裝。命令模式把發出命令的責任和執行命令的責任分割開,委派給不同的對象。 每一個命令都是一個操作:請求的一方發出請求要求執行一個操作;接收的一方收到請求,並執行操作。命令