設計模式 外觀模式

2021-08-10 22:16:44 字數 1364 閱讀 6158

class player

public

void

play(string url)

}class packet

class frame

class extractor

public packet getpacket()

}class decoder

}class renderer

}public

class facadepattern

}

輸出結果:

get packet from file:

decode packet

render frame

下面是c++實現:

class extractor

};class decoder

};class renderer

};class player

~player()

void play()

private:

extractor *extractor;

decoder *decoder;

renderer *renderer;

};int main(int argc, const

char * argv)

然後我們再來看一下c語言實現吧:

typedef

struct _extractorextractor;

void getpacket(struct _extractor* ext)

extractor *newextractor()

typedef

struct _decoderdecoder;

void getframe(struct _decoder* dec)

decoder *newdecoder()

typedef

struct _rendererrenderer;

void renderframe(struct _renderer* render)

renderer *newrenderer()

typedef

struct _playerplayer;

void play(struct _player * player)

player *newplayer()

int main(int argc, char** argv)

其實在我們實際的工作中,我們完全不用拿著乙個設計模式去套我們的**,只要按照物件導向的原則去編碼,理解其思想。像外觀模式這種**是可以很隨意的寫出來的。也許在我們的**中充斥者很多這樣的設計。

設計模式 外觀模式

外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...

設計模式 外觀模式

何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...

設計模式 外觀模式

外觀模式說白了就是為一組介面提供乙個一致的介面。例如 定義三個類a b c,每個類各定義乙個方法。class a pubic void showa cout a showa pubic void showb cout b showb pubic void showc cout c showc 定義乙...