Design Patterns–Observer

使用時機:

可以建立出關於”訂閱與發佈”的系統(一對一、一對多),在”訂閱與發佈”之中,你可以不在乎有幾個人的訂閱,並且一次針對所有的人去發佈。

可能問題:

不論是在Design Patterns的書上、或是在網站的資料上,都會提到必須”確保subject 在知會他人之前是完好無缺的”(Making sure subject state is self-consistent before notification. ),但是在實作上會有相當大的困難。

_舉例而言:_小明一家三口都訂閱”貧”果日報,送報順序是:爸->媽->小明。有一天,爸爸看到上面的新聞報導著火山爆發的消息,所以一家三口都搬家,造成報紙無法送至其他人手中,造成問題。

也就是Observer在接到Notify後,自身所反映的update。某些情況下,不僅僅將自己的Observer砍掉(detach),也將其他的Observer都移除,造成subject之後的Notify會產生問題(雖然說Observer彼此間不應該存在太緊密地關係,也就是不該知道彼此間是否有attach 某些subject)但是這樣的實作確實容易存在,也不易解決,一般解決方式會採取的是:

Subject在執行Noyify前,對於每個Observer均增加一次Attach,避免 Observer自身的update去驅動其他Observer的Dettach 而失去Subject與Observer之間的聯繫,(如果是COM,將造成無法執行某些Interface進而Access Violation。)

心得:

這樣的Pattern實在相當好用,但是這個CASE主要是一對多,若是單純的一對一的更新,可透過傳入函式或是某個程式指標的方式去驅動即可。詳細的Implement可以參考書上及網路上的應用,在此僅對於此Pattern用法與相關問題作一個討論。

Reference:

星爺迷必看~~[功夫]

mov

禮拜天,排了兩個小時,總算把令人期待功夫看了~剛看完,說實在的,總覺得哪裡不過癮。但是回去看了許多網友的解說之後,會發現這部片子裡面暗藏許多的隱喻。在此就不先說明~~

我超愛周星馳~~~~~

此外,我也買了這本書~~

看了一下發現這本書很贊喜歡周星馳的可別忘了買~~

Make Your Sign

111.jpg

昨天上班,被這種圖片嚇到。其實也是可以自己作一個類似的圖片出來。

http://pack-square.business-php.com/

我想,這個網站主要是利用GD的函式庫去繪圖,只是搭配的色澤還不錯,很逼真~~~~

此外~~你也可以做另外一種

http://www.churchsigngenerator.com/index_1.php

帝國大反擊~~~MSN Space

微軟,這位軟體業的老大,最擅長的不過就是利用自己強大的市佔率,去強迫市場上的使用者,去使用他們的相關服務,舉反MSN Messenger與IE都是如此。日前~他們發表了MSN Messenger7.0的BETA版本,裡面加入了許多令人驚艷的功能,以下有一些相關報導

在此,就先不強調一些其他的新功能。但是眼尖的人會發現,其實此版的MSN Messenger(以下簡稱MSN)最主要的,就是將微軟的新服務(其實之前就介紹過了~~~)MSN SPACE推薦給全世界的Bloger。

針對這一點,主要的就是在MSN的名單列表上,會出現相關的分享空間(此為繁中譯文,個人覺得有點奇怪),如同以下的範例圖(摘自人民網),你會看到該連絡人所分享出的圖片,或是可以連接到該連絡人的網誌去。

F2004101315065300000.jpg

於是乎,人人開始建立自己的MSN SPACE,但是經過我這幾天的測試與使用下,其實MSN SPACE還是有一些使用上相當不便的地方。

  1. **版面不可修改HTML:
    **當然,對於許多的使用者。這個是相當方便的,你不必去修改難懂的HTML CODE,但是相對的、你也就不能使用http://del.icio.us/這種方便的BOOKLIST服務(或許微軟自己會搞一套,WHO KNOW?)

  2. 帳號與相關不確定性:
    要這樣的服務,首先你需要有MSN .NET  PASSPORT的帳號(廢話! 有MSN的人一定都有的)。不過,在我無聊亂逛下,我看到一個有趣的畫面。( 上面是寫_*您可能需支付網際網路的費用。),以後會不會收費??  別問我 ^__^”

MSN.JPG

  1. **對於其他軟體TrackBack的通用:
    **TrackBack已經是相當被許多BLOGER使用的一套機制(我想也是個禮貌,引人人家文章要知會一聲),MT的TrackBack算是蠻好用的,Plog也支援MT格式的TrackBack,在此!! MSN SPACE 完全不提供其他軟體的PING (TrackBack主要是用Ping來傳遞訊息),其實此點完全是微軟的作風。

  2. **備份機制??:
    **不知道,是微軟大哥忘記這件事,還是故意不寫,這套MSN SPACE是我看過BLOG系統上,少數幾個沒有備份機制的,不過~~~想到以後可能會收費,這樣的遺忘,似乎又是合理的。

以上幾點,是小弟我觀察到的缺點啦。當然,MSN SPACE有許多好用的地方(介面、拖曳修改外觀、支援圖片相本、HTML編輯方式),我在此就不多加敘述,你問我,會不會使用MSN SPACE?

我有申請一個阿,不過就是拿來放放10MB照片罷了!!!

讀書心得–Borland傳奇

書籍封面

書名:Borland傳奇

作者:李維              書籍簡介網頁

這本書我算是讀完蠻久的,早在研究所的時候就將這本書讀完。作者李維再delphi裡面算是一位很有名的寫作家,由他對於borland多年的觀察經驗(當然包括他在borland裡面工作的時間)來介紹borland當然自然相當有說服力。

這本書呢,可以當成商戰的書籍,但是、不是很建議沒學過程式設計的人來看這本書,因為裡面講太多關於程式語言架構,c++基本語法、程式語言發展流程的一些介紹。對於學資訊的人員,這本看起來可以說相當的親切,並且也可以提供像我們這種資訊人員一些商戰場上的一些發展過程。

就商業經營上,這本書裡面,可以看到微軟與borland這兩家完全不同的公司在許多軟體發展上所採取的策略與取捨的方向。藉由各個不同的取捨,造就了前幾年的delphi風潮、.net的上市、vj++的慘敗都在此書有詳細描述。單就這方面,我個人蠻建議想更進階的軟體工程師都應該看這本,因為這本書將會介紹到許多軟體專案發展上的成功訣竅、當然也會介紹到由於執行長的錯誤決定讓borland如何跌到谷底,算是軟體工程師的進階書。

此外,單就學習程式設計的人來說,此書對於微軟的mfc的架構與vcl架構上都有完整的說明,並且對於兩家公司在c++上採取許多不同的考量、加強的功能也大書特書,對於從事軟體研究發展的人,這本書提供程式碼以外的概念觀,並且讓你清楚的了解到視窗程式設計上這兩個大家對於建構軟體所建立出的framework為何。

最後,我會推薦這本書的原因。也是這個作者寫的相當好,雖然作者寫書並不完全的淺顯易懂(獎時再許多地方需要一點基礎才能了解),但是卻非常的吸引人繼續看下去。整本看完,我只能說~你將會對於軟體工程師的職業相當的著迷~(雖然看不完的原文書,學不完的技術),但是完成作品的成就感卻是無與倫比的。

Anyway,衷心向大家推薦這本書,學軟體的更需要觀看這本書~~~~~~

文不如圖~ 圖不如自動播放? MS Producer 2003

Producer 2003 user interface

依據Curiosity is bliss的一篇文章Screen recording and publishing,我完全贊同他的講法,DEMO果然是讓人可以一目瞭然的方式,不論是在軟體的使用教學上,還是一些事情的說明上。

當然我們微軟老大也發表了一套簡易的軟體,Producer 2003利用這套軟體可以快速的將你的投影片拉成一段小小的影片,加上好的音效、投影片、影片、甚至是你先前錄製的旁白。可以到這裡去下載免費的版本(僅對應Office 2003),他同時也介紹了一個更強力的軟體(當然~ 這是要摳摳($$)的)Camtasia Studio,裡面有範例可以去觀看對應到Power Point版本的軟體PowerPoint add-in,或許像這篇文章作者講的,在許多技術突破下,這樣的表現方式將會是相當重要的…. 

當然….  FLASH已經深植在我們心中 :)