今天和大家分享的是外觀模式。這個模式也不難,我猜想很多人都不經意間用過。好吧,先讓我們看看他是如何定義的。
外觀模式(facade),為子系統中的一組介面提供乙個一致的介面,此模式定義 乙個高層介面,這個介面使得這一子系統更加容易使用。下面給大家展示一下類的結構圖,想必大家一看就明白了:
其實這個模式中,沒有類與類之間的繼承關係,只是進行了簡單的類引用,統一了對外的介面而已。看起來是不是很簡單?廢話不多說了,下面簡單向大家展示一下**吧!
12345
#import
@inte***ce
subsystemone:nsobject-(
void
)methodone
;@end
1234567
#import "subsystemone.h"
@implementation
subsystemone-(
void
)methodone
@end
12345
#import
@inte***ce
subsystemtwo:nsobject-(
void
)methodtwo
;@end
1234567
#import "subsystemtwo.h"
@implementation
subsystemtwo-(
void
)methodtwo
@end
12345
#import
@inte***ce
subsystemthree:nsobject-(
void
)methodthree
;@end
1234567
#import "subsystemthree.h"
@implementation
subsystemthree-(
void
)methodthree
@end
12345
#import
@inte***ce
subsystemfour:nsobject-(
void
)methodfour
;@end
1234567
#import "subsystemfour.h"
@implementation
subsystemfour-(
void
)methodfour
@end
1234567
891011
1213
1415
16
#import
@class
subsystemone;//此處@class關鍵字的作用是宣告(不是定義哦)所引用的類
@class
subsystemtwo;
@class
subsystemthree;
@class
subsystemfour;
@inte***ce
facade :nsobject-(
facade*)
myinit;-
(void
)methoda;-
(void
)methodb
;@end
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
#import "facade.h"
#import "subsystemone.h"
#import "subsystemtwo.h"
#import "subsystemthree.h"
#import "subsystemfour.h"
@implementation
facade-(
facade*)
myinit-(
void
)methoda-(
void
)methodb
@end
1234567
891011
12
#import
#import "facade.h"
intmain
(int
argc
,const
char
*argv
)return0;
}
在開發軟體時候,考慮使用外觀模式的情況一般分為三種情況。第一種情況,設計初始階段,應該要有意識的將不同的兩個分層分離,層與層之間建立外觀facade,這樣可以為複雜的子系統提供乙個簡單的介面,使得耦合大大降低。第二種情況,在開發階段子系統往往因為不斷的重構演化而變得越來越複雜,增加外觀facade可以提供乙個簡單的介面,減少它們之間的依賴。第三種情況,在維護乙個遺留的大型系統時,可能這個系統已經非常難以維護和擴充套件了,如果有新的需求,那麼可以為新系統開發乙個外觀facade類,來提供設計粗糙或高度複雜的遺留**的比較清晰簡單的介面,讓新系統與facade物件互動,facade與遺留**互動所有複雜的工作,這樣可以保持較低的耦合度。
其實,看起來並不難,但是如果想用好還是需要不斷的練習和總結啊!
好啦,」打完」收工!
Objective C 工廠模式
工廠是處理在不指定物件具體型別的情況下建立物件的問題。工廠方法模式的實質是 定義乙個建立物件的介面,但讓實現這個介面的類來決定例項化哪個類。工廠方法讓類的例項化推遲到子類中進行。在物件導向程式設計中,工廠通常是乙個用來建立其他物件的物件。工廠是構造方法的抽象,用來實現不用的分配方案。工廠物件通常包含...
設計模式 外觀模式
外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...
設計模式 外觀模式
何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...