<table cellspacing="0" cellpadding="0" id="blogContentTable" style="line-height:28px; color:rgb(97,99,97); font-family:Calibri; font-size:16px; margin:0px; padding:0px; border-collapse:collapse; border-spacing:0px; table-layout:fixed; width:880px; position:inherit"><tbody style="margin:0px; padding:0px"><tr style="margin:0px; padding:0px"><td valign="top" style="margin:0px; padding:0px; word-wrap:break-word"><div id="blogContainer" style="margin:0px; padding:0px; position:inherit; overflow:hidden; height:6815px"><div id="paperTitleArea" align="center" style="line-height:25px; margin:0px; padding:0px"><span id="paperTitle" style="line-height:28px; margin:0px; padding:0px; display:block; word-break:break-all"/></div><div id="blogDetailDiv" style="margin:0px; padding:0px; min-height:380px"><div style="margin:0px; padding:0px"><div style="font-size:14px; line-height:25px; margin:0px; padding:0px"><br style="line-height:24px"/></div><span style="font-size:12pt; line-height:28px; margin:0px; padding:0px; font-family:SimSun"><strong>OOP基礎。</strong></span><br style="line-height:24px"/><ol type="1" style="font-size:14px; line-height:24px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed"><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt">OOP</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">有三大目標,重用性、靈活性和擴展性。</span><br/><ol type="a" style="margin:0in 0px 0in 0.375in; padding:0px; font-size:10.5pt; direction:ltr; unicode-bidi:embed"><ol type="1" style="line-height:28px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:12pt"><ol type="a" style="line-height:24px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"/></ol></ol></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt">OOP</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">有三大特性,封裝、繼承和多態。抽象雖然不是</span><span style="margin:0px; padding:0px; font-size:10.5pt">OOP</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">的編程特性,但它卻是所有編程語言的最大特性。</span><br/><ol type="a" style="margin:0in 0px 0in 0.375in; padding:0px; font-size:10.5pt; direction:ltr; unicode-bidi:embed"><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">封裝,隱藏程序的屬性和的實現細節,并控制屬性的訪問權限,對外僅提供接口。</span><br/><ol type="1" style="line-height:28px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:12pt"><ol type="a" style="line-height:24px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"><ol type="i" style="margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"/></ol></ol></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">繼承,是對基類的代碼進行利用并擴展基類,是一個從一般到特殊的過程。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">多態,運行時,根據對象的不同,同一接口,但是調用不同的實現方式來達到多態的特性。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">抽象,將需要變化之處與不需要變化之處區分開來。抽象出來的類,不僅僅可能是一個事物,也可以是一組行為,凡是關聯性比較強的都可以抽象為一個基類。</span><br/><ol type="1" style="line-height:28px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:12pt"><ol type="a" style="line-height:24px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"><ol type="i" style="margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"/></ol></ol><ol type="i" style="margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"/></li></ol></li></ol><span style="font-size:12pt; line-height:28px; margin:0px; padding:0px; font-family:SimSun"><strong>OOP</strong></span><span style="font-size:12pt; line-height:28px; margin:0px; padding:0px; font-family:SimSun"><strong>六大原則。</strong></span><br style="line-height:24px"/><ol type="1" style="font-size:12pt; line-height:28px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed"><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">開閉原則,開放擴展,關閉修改。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">依賴倒置原則,高層和底層模塊都依賴于抽象,也即面向接口編程。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">接口隔離原則,接口功能要單一,多個任務提供多個接口。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">合成</span><span style="line-height:24px; margin:0px; padding:0px; font-size:10.5pt">/</span><span style="line-height:24px; margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">聚合利用原則,能夠用合成</span><span style="line-height:24px; margin:0px; padding:0px; font-size:10.5pt">/</span><span style="line-height:24px; margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">聚合的,就不要用繼承。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">迪米特法則,也稱最小知道原則,盡可能少的與其他類有耦合關系,有的時候可以用前向聲明。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">單一職責原則,一個類只有一個引起它變化的原因,如一個“清潔”類,別吃飯時也引起“清潔”類響應。</span><br/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:24px; margin:0px; padding:0px; font-family:SimSun; font-size:10.5pt">里氏替換原則,子類不覆蓋父類方法,做到子類對象完全可以替換父類對象。</span><br/><ol type="a" style="line-height:24px; margin:0in 0px 0in 0.375in; padding:0px; direction:ltr; unicode-bidi:embed; font-size:10.5pt"/></li></ol><p style="font-size:10.5pt; line-height:24px; margin:0in 0in 0in 0.75in; padding-top:0px; padding-bottom:0px"/><ul style="font-size:14px; line-height:24px; margin:1em 0px; padding:0px"><li style="margin:0px 0px 0px 40px; padding:0px; list-style:disc"><span style="margin:0px; padding:0px; font-style:italic">?(</span><span style="margin:0px; padding:0px; font-family:SimSun"><em>個人覺得里氏替換原則可以不太用考慮,實際設計中,子類想完全替換父類還是有一定的困難的。</em></span><span style="margin:0px; padding:0px; font-style:italic">)</span></li></ul><span style="font-size:14px; line-height:24px; margin:0px; padding:0px; font-style:italic"><span style="margin:0px; padding:0px; font-weight:bold">?</span></span><span style="font-size:12pt; line-height:28px; margin:0px; padding:0px; font-family:SimSun"><strong>常用設計模式。</strong></span><blockquote style="margin:0px 0px 0px 40px; padding:0px; border:none"><blockquote style="margin:0px 0px 0px 40px; padding:0px; border:none"><blockquote style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; border:none"/><ol style="margin:1em 0px; padding:0px"><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>簡單工廠模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,有一個提供接口的抽象類,然后實現不同功能的子類去實現抽象類,最后一個簡單工廠類來完成對不同子類的創建。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(55,86,35)"><strong>創建型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/3892f1cffbfc015a0ff878fb966e5e4e.jpg" style="border:0px; max-width:100%"/></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px"><strong>工廠方法模式</strong></span><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px; color:rgb(55,86,35); font-family:SimSun">,</span><span style="margin:0px; padding:0px">定義一個用于創建對象的接口,讓子類決定實例化哪一個類。定義一個抽象工廠類,每一個產品,按照抽象工廠的基本要求新建一個工廠來生產新的產品</span><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px; color:rgb(55,86,35); font-family:SimSun">。</span><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px; color:rgb(55,86,35); font-family:SimSun"><strong>創建型模式。</strong></span><span style="font-size:1em; line-height:24px"><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/df7ae2061479afb009bcbaba9678d0e0.jpg" style="border:0px; max-width:100%"/></span></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px; font-family:SimSun; color:rgb(55,86,35)"><strong><span style="margin:0px; padding:0px; font-size:10.5pt"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:Calibri">?</span></span></strong></span><span style="margin:0px; padding:0px"><strong>單例模式</strong></span><span style="margin:0px; padding:0px"><span style="font-family:SimSun; color:#375623"><span style="font-size:10.5pt; line-height:24px">,</span></span>保證一個類只有一個實例,并提供一個全局訪問點<span style="font-family:SimSun; color:#375623"><span style="font-size:10.5pt; line-height:24px">。</span></span></span><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px; color:rgb(55,86,35); font-family:SimSun"><strong>創建型模式。</strong></span><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px"><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/0b0a15a0b7db7b4838a4a1fcf93ba2e1.jpg" style="border:0px; max-width:100%"/>?</span><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px">?</span></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>裝飾者模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,動態地給一個對象添加一些職責。就擴展功能而言,裝飾者模式比繼承更加靈活。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(0,112,192)"><strong>結構型模式。</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt"><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/b720c8e819a11856f05b67897d16c2c5.jpg" style="border:0px; max-width:100%"/>?</span><span style="margin:0px; padding:0px">?</span></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt"/><span style="margin:0px; padding:0px; font-size:10.5pt"><strong>代理模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt">,為其他對象提供一種代理以控制對這個對象的訪問。</span><span style="margin:0px; padding:0px; font-size:10.5pt; color:rgb(0,112,192)"><strong>結構型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/27fe3179839365cfa3d1dee2beccbe22.jpg" style="border:0px; max-width:100%"/></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>適配器模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,將一個類的接口,轉換成客戶期望的另一個接口。適配器模式讓原本由于接口不兼容而不能一起工作的類可以一起工作。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(0,112,192)"><strong>結構型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/98d82e7920b97c670b09b9e4733c9aad.jpg" style="border:0px; max-width:100%"/></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(0,112,192)"><strong><span style="margin:0px; padding:0px; font-size:10.5pt"><em/></span></strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(0,112,192)"><strong><span style="margin:0px; padding:0px; font-size:10.5pt"><em/></span></strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>組合模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,將對象組合成樹形結構以表示“部分—整體”的層次結構。組合模式能夠讓客戶以一致的方式處理個別對象以及對象組合。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(0,112,192)"><strong>結構型模式。</strong></span><span style="margin:0px; padding:0px"><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/78715e72e70c9bb56576ccde3f0cf81d.jpg" style="border:0px; max-width:100%"/>?</span></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>命令模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,將一個請求封裝成一個對象,從而可以用不同的請求、隊列或者日志對客戶進行參數化。命令模式也支持可撤銷的操作。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong>對象行為型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/abbbc599ee3adfe5c242a8c1ed2cf391.jpg" style="border:0px; max-width:100%"/></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong>?</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>模板方法模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,定義一個操作中的算法骨架,而將一些步驟延遲到子類中。模板方法可以不改變改變一個算法的結構即可以重定義該算法的某些特定步驟。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong>類行為型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/021164fe65dc2b072a3c68b25d2d80d5.jpg" style="border:0px; max-width:100%"/></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>迭代器模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,提供一種方法順序訪問一個聚合對象中的各個元素,而又不暴露其內部的表示。</span><span style="margin:0px; padding:0px; color:rgb(232,76,34); font-family:SimSun"><strong>對象行為型</strong></span><span style="margin:0px; padding:0px; color:rgb(232,76,34); font-family:SimSun"><strong>模式。</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/3a14f68528ab1287077c7de5202ec3f5.jpg" style="border:0px; max-width:100%"/><br/>?</span></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><span style="margin:0px; padding:0px"/></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>狀態模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,允許對象在內部狀態改變時改變它的行為,對象看起來似乎修改了它的類。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong>對象行為型模式。</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong/></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/78c7748b2b3ad264f0bce3936f1f512c.jpg" style="border:0px; max-width:100%"/></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>策略模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,定義一系列算法,分別封裝起來,讓它們可以互相替換。此模式讓算法的變化可以獨立于使用算法的客戶。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong>對象行為型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/d5d819ecdde6a4d5d3c330efee5eb7ec.jpg" style="border:0px; max-width:100%"/></li><li style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun"><strong>觀察者模式</strong></span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">,定義了對象之間一對多的依賴關系,當一個對象發生改變時,它的所有依賴者都會收到通知并自動更新。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun; color:rgb(232,76,34)"><strong>對象行為型模式。</strong></span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/6f8b1bd80c6064bfb7d213ffe87a6e75.jpg" style="border:0px; max-width:100%"/></li></ol><span style="font-size:10.5pt; line-height:24px; margin:0px; padding:0px; color:rgb(232,76,34)"><strong>P.S.</strong></span><br/><blockquote style="font-size:1em; line-height:24px; margin:0px 0px 0px 40px; padding:0px; border:none"/><ol style="font-size:1em; line-height:24px; margin:1em 0px; padding:0px"><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">模塊化,主要指以功能來劃分的。模塊化主要遵循高內聚低耦合,也即職責單一。</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">卡內基.梅隆大學的RobertHarper教授,“面向對象編程應該完全的從基礎課程中刪除掉,因為它既是反模塊化,又是反并行的,這是它的非常固有的特征,所以它不適合作為一種現代的計算機科學課程。”可以模塊化和并行在現代程序設計中的重要性是高于</span><span style="margin:0px; padding:0px; font-size:10.5pt">OOD</span><span style="margin:0px; padding:0px; font-size:10.5pt; font-family:SimSun">的一些原則的。</span></li><li style="margin:0px 0px 0px 40px; padding:0px; list-style:decimal"><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-family:微軟雅黑,Tohoma; font-size:10.5pt">MVC(</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">Model View Controller</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-family:微軟雅黑,Tohoma; font-size:10.5pt">)</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">,能夠將</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-family:微軟雅黑,Tohoma; font-size:10.5pt">UI</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">和數據以及對數據處理的邏輯分開,降低耦合。在《</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-family:微軟雅黑,Tohoma; font-size:10.5pt">Head</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">?First</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">設計模式》中,將</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">MVC</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">列為復合模式,是模式的模式,是因為</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">MVC</span><span style="line-height:22px; margin:0px; padding:0px; color:rgb(84,84,84); font-size:10.5pt; font-family:SimSun">會使用到多個模式。</span><img alt="設計模式總結 - 飛鶴 - 飛鶴的成長歷程" src="image/fd87efc05a6e6952ccb464c782e5813a.jpg" style="border:0px; max-width:100%"/></li></ol></blockquote></blockquote></div></div></div></td></tr></tbody></table>
- 前言
- 設計模式六大原則
- 1——創建型模式之簡單工廠模式
- 2——創建型模式之工廠方法模式
- 3——創建型模式之抽象工廠模式
- 4——創建型模式之單例模式
- 5——創建型模式之建造者模式
- 6——創建型模式之原型模式
- 7——結構型模式之適配器模式
- 8——結構型模式之橋接模式
- 9——結構型模式之組合模式
- 10——結構型模式之裝飾者模式
- 11——結構型模式之外觀模式
- 12——結構型模式之享元模式
- 13——結構型模式之代理模式
- 14——行為型模式之職責鏈模式
- 15——行為型模式之命令模式
- 16——行為型模式之解釋器模式
- 17——行為型模式之迭代器模式
- 18——行為型模式之中介者模式
- 19——行為型模式之備忘錄模式
- 20——行為型模式之觀察者模式
- 21——行為型模式之狀態模式
- 22——行為型模式之策略模式
- 23——行為型模式之模板方法模型
- 24——行為型模式之訪問者模式
- 設計模式總結