結構型模式 外觀 facade

2021-07-29 02:01:45 字數 3158 閱讀 7068

為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用.

main.cc:

#include 

#include "runner_club.h"

/*design_pattern:"facade"

runner club two activitys:

recruit runner (propaganda system, human resources system)

long-distance race(public relation system, organizational systems)

*/int main()

runnerclub:

//runner_club.h

#ifndef helendp_source_runner_club_h_

#define helendp_source_runner_club_h_

#include "human_resource_system.h"

#include "organizational_system.h"

#include "propaganda_system.h"

#include "public_relation_system.h"

class runnerclub;

#endif

//runner_club.cc

#include "runner_club.h"

#include

using

namespace

std;

runnerclub::runnerclub()

runnerclub::~runnerclub()

void runnerclub::recruitrunner()

void runnerclub::longdistancerace()

publicrelationsystem:

//public_relation_system.h

#ifndef helendp_source_public_relation_system_h_

#define helendp_source_public_relation_system_h_

class publicrelationsystem;

#endif

//public_relation_system.cc

#include "public_relation_system.h"

#include

using

namespace

std;

publicrelationsystem::publicrelationsystem()

publicrelationsystem::~publicrelationsystem()

void publicrelationsystem::run()

propagandasystem:

//propaganda_system.h

#ifndef helendp_source_propaganda_system_h_

#define helendp_source_propaganda_system_h_

class propagandasystem;

#endif

//propaganda_system.cc

#include "propaganda_system.h"

#include

using

namespace

std;

propagandasystem::propagandasystem()

propagandasystem::~propagandasystem()

void propagandasystem::run()

organizationalsystem:

//organizational_system.h

#ifndef helendp_source_organizational_system_h_

#define helendp_source_organizational_system_h_

class organizationalsystem;

#endif

//organizational_system.cc

#include "organizational_system.h"

#include

using

namespace

std;

organizationalsystem::organizationalsystem()

organizationalsystem::~organizationalsystem()

void organizationalsystem::run()

humanresourcesystem:

//human_resource_system.h

#ifndef helendp_source_human_resource_system_h_

#define helendp_source_human_resource_system_h_

class humanresourcesystem;

#endif

//human_resource_system.cc

#include "human_resource_system.h"

#include

using

namespace

std;

humanresourcesystem::humanresourcesystem()

humanresourcesystem::~humanresourcesystem()

void humanresourcesystem::run()

**和uml圖(ea)工程檔案,最後會整理打包上傳.

結構型模式 facade 外觀

1.意圖 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面。口使得這一子系統更加容易使用。2.動機 將乙個系統劃分成為若干個子系統有利於降低系統的複雜性。乙個常見的設計目標是使 子系統間的通訊和相互依賴關係達到最小。達到該目標的途徑之一是就是引入乙個外觀 facade 物件...

Facade 外觀(結構型模式)

問題 坦克根據外部環境不一樣,可以分別由引擎 控制器 車輪 車身等組合構成。動機當客戶程式與各子系統有過多的耦合,隨著客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。如何簡化客戶程式和子系統間的互動介面?如何將客戶程式的演化和內部的子系統的變化之間依賴相互解耦?意圖為子系統中的一組介面提...

結構型模式 Facade(外觀)模式

定義 為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。定義角色 outlook功能 每個人都可能有很多郵箱,msn的 網易的 公司的 google的。如果每天都登入各個郵箱收信非常麻煩,而且也可能漏收郵件。所以使用諸如outlook這樣的客戶端...