摘要:
引子 先來看一個現(xiàn)象,那就是肯德基或者是麥當(dāng)勞的例子, 肯德基和麥當(dāng)勞光在中國就有無數(shù)的店面,但是為什么每個店面里的食品味道都是差不多的, 你在店 A 中吃的東西的味道,在店 B 中還是這個味道,這是如何做到的呢? 為什么在中國, n 個餐館里面,一道青椒炒肉有 n 個不同的味道呢? 首先,看中國菜--青椒炒肉,n 個餐館里面的廚師都是不同的, 鬼曉得這些廚師是自學(xué)成才還是從新東方烹飪...
閱讀全文
摘要:
有的時候,我們需要一個實例時,并且,當(dāng)創(chuàng)建一個實例的過程比較復(fù)雜或者說是昂貴時,比如,創(chuàng)建實例的構(gòu)造函數(shù)非常的復(fù)雜,在執(zhí)行這個構(gòu)造函數(shù)時會消耗較長的時間,同時呢,這個構(gòu)造函數(shù)中的一些信息又沒有什么變化(也就是說創(chuàng)建第一個實例時初始化信息是這樣的,創(chuàng)建第二個實例時初始化信息還是還是這樣的),那么直接使用 new 來創(chuàng)建這樣一個實例就顯得太昂貴了,最好的解決方法,并不是使用 new 來實例化一個對象,...
閱讀全文
摘要:
先給出一個概念 SOA ,即 Service Oriented Architecture ,中文一般理解為面向服務(wù)的架構(gòu),既然說是一種架構(gòu)的話,所以一般認(rèn)為 SOA 是包含了運行環(huán)境,編程模型,架構(gòu)風(fēng)格和相關(guān)方法論等在內(nèi)的一整套新的分布式軟件系統(tǒng)構(gòu)造方法和環(huán)境,涵蓋服務(wù)的整個生命周期。而在 SOA 的架構(gòu)風(fēng)格中,服務(wù)是最核心的抽象手段。SOA 中的服務(wù)是構(gòu)建在一些列基于開放標(biāo)準(zhǔn)的基礎(chǔ)之上的,Web 服務(wù)定義了如何在異構(gòu)系統(tǒng)之間實現(xiàn)通信的標(biāo)準(zhǔn)化方法,從而就使得 Web 服務(wù)可以跨越運行平臺和實現(xiàn)語言,同時也使得 Web 服務(wù)成為了實現(xiàn) SOA 中服務(wù)的主要技術(shù)。至于 SOA 的話,太高深的技術(shù),
閱讀全文
摘要:
為了深刻點理解代理模式,我們先來看一個 Demo , 首先這個 Demo 是用來測試 QQ 號碼是否在線, 這里涉及到的內(nèi)容是 Web 服務(wù)的使用, 這個 Web 服務(wù)所在地址為: http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx 如果有不懂 Web 服務(wù)的,還可以查看筆者一篇涉及 Web 服務(wù)的文章,...
閱讀全文
摘要:
在面向?qū)ο笤O(shè)計中,總是會要使用集合對象的,這些集合對象的內(nèi)部結(jié)構(gòu)可能是非常復(fù)雜的, 但是作為客戶端使用的話,我們只需要關(guān)心集合內(nèi)部的數(shù)據(jù)和遍歷集合內(nèi)部的數(shù)據(jù)就可以了, 如果以最簡單的設(shè)計來實現(xiàn)的話,大可以定義一個類,類中定義一個諸如數(shù)組,棧,隊列之類的對象, 然后將數(shù)據(jù)的存儲以及數(shù)據(jù)的遍歷全部交給這一個類來完成,但是在面向?qū)ο笾羞€有這樣一個設(shè)計原則, 也就是單一責(zé)任原則(對于一個類來說,應(yīng)...
閱讀全文
摘要:
首先談?wù)撘幌履0宸椒ǖ闹匾院鸵饬x所在,其實,很多人都應(yīng)該使用過模板方法了, 只是他們自己沒有意識到而已,比如,您新建一個 Form 或者是 Page 的時候便是使用了模板方法, 因為窗體繼承自 Form 而頁面則是繼承自 Page ,在這里您便可以把 Form 和 Page 看做是一個模板, 而我們在自己的窗體或者是頁面中的操作只不過是定義了屬于我們自己的具體算法而已。 模板方式模式是基...
閱讀全文
摘要:
適配器模式(Adapter) 還是先從引入說起,先來看一個問題吧,總所周知,在中國通用的電壓時 220V, 而美國電壓則是 110V,如果有經(jīng)常在美國和中國之間跑的 IT 人,而其筆記本都是隨身攜帶的, 那么它的筆記本的電壓問題如何解決呢? (因為在美國和中國電壓不同,所以一般的電器會不通用的) 而適配器在這個問題上體現(xiàn)得妙極妙極。 現(xiàn)在的筆記本都有一個電源適配器,而正是這個電源適配器...
閱讀全文
摘要:
看了很多命令模式方面的資料,感覺最經(jīng)典的實例就是餐廳的那個例子, 確實這個餐廳的例子在一定層面上很好的解釋了命令模式以及命令模式的真正用途, 當(dāng)然其也存在一定的問題(下面會提到) 所以下面也還是從這個餐廳來說起。 ...
閱讀全文
摘要:
首先來明確一個問題,那就是在某些情況下,有些對象,我們只需要一個就可以了, 比如,一臺計算機(jī)上可以連好幾個打印機(jī),但是這個計算機(jī)上的打印程序只能有一個, 這里就可以通過單例模式來避免兩個打印作業(yè)同時輸出到打印機(jī)中, 即在整個的打印過程中我只有一個打印程序的實例。 簡單說來,單例模式(也叫單件模式)的作用就是保證在整個應(yīng)用程序的生命周期中, 任何一個時刻,單例類的實例都只存在一個(當(dāng)然也可...
閱讀全文
摘要:
先來明確一個問題,那就是有的時候,實例化這個活動不應(yīng)該總是公開的進(jìn)行, 也就是不要公開的使用 new 操作符,因為,這樣容易造成耦合問題。 我們不應(yīng)該針對實現(xiàn)編程,但是當(dāng)我們在使用 new 的時候,便是針對實現(xiàn)編程, 而如果您要實例化的話,必須要使用 new 這個關(guān)鍵字, 很明顯,這是一個矛盾問題!!! 當(dāng)然這里的矛盾并不是說不能夠使用 new ,而是更好的使用了 new。 那么如何來...
閱讀全文