设为首页 加入收藏

TOP

外观模式
2014-11-23 22:04:14 来源: 作者: 【 】 浏览:3
Tags:外观 模式

前序
这回小菜同学和大鸟讨论起了关于股票的事情,小菜提到最近股市很火,不过他的同事一直在亏钱。而大鸟说道:“如果你的同事花钱去投资基金,则不会亏的这么厉害。基金将所有投资者的钱全部集中起来,交由专业的经理人进行管理,投资于股票、债券、外汇等领域。”

而个人进行投资股票,对股票的联系太多,反而不利于操作,这在软件中就称为耦合性过高。而有了基金之后,众多的用户只和基金打交道,关心基金的上涨和下跌就可以了,应此消除了过高的耦合性。

于是大鸟便让小菜将股民炒股票的代码写出来看看。

股民炒股票代码
#include

// 股票1

class Stock1

{

public:

void Sell() // 卖股票

{

printf("股票1卖出 ");

}

void Buy() // 买股票

{

printf("股票1买入 ");

}

};

// 股票2

class Stock2

{

public:

void Sell() // 卖股票

{

printf("股票2卖出 ");

}

void Buy() // 买股票

{

printf("股票2买入 ");

}

};

// 股票3

class Stock3

{

public:

void Sell() // 卖股票

{

printf("股票3卖出 ");

}

void Buy() // 买股票

{

printf("股票3买入 ");

}

};

// 国债1

class NationalDebt1

{

public:

void Sell() // 卖国债

{

printf("国债卖出 ");

}

void Buy() // 买国债

{

printf("国债买入 ");

}

};

// 房地产1

class Realty1

{

public:

void Sell() // 卖房地产

{

printf("房地产卖出 ");

}

void Buy() // 买房地产

{

printf("房地产买入 ");

}

};

int main()

{

Stock1* gu1 = new Stock1();

Stock2* gu2 = new Stock2();

Stock3* gu3 = new Stock3();

NationalDebt1* nd1 = new NationalDebt1();

Realty1* rt1 = new Realty1();

gu1->Buy();

gu2->Buy();

gu3->Buy();

nd1->Buy();

rt1->Buy();

gu1->Sell();

gu2->Sell();

gu3->Sell();

nd1->Sell();

rt1->Sell();

delete gu1;

delete gu2;

delete gu3;

delete nd1;

delete rt1;

return 0;

}

大鸟看后答到:“很好,如果我们现在增加基金类,将如何做?”

外观模式
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

实现方式(UML类图)

\
实现代码
#include

// 股票1

class Stock1

{

public:

void Sell() // 卖股票

{

printf("股票1卖出 ");

}

void Buy() // 买股票

{

printf("股票1买入 ");

}

};

// 股票2

class Stock2

{

public:

void Sell() // 卖股票

{

printf("股票2卖出 ");

}

void Buy() // 买股票

{

printf("股票2买入 ");

}

};

// 股票3

class Stock3

{

public:

void Sell() // 卖股票

{

printf("股票3卖出 ");

}

void Buy() // 买股票

{

printf("股票3买入 ");

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Muduo网络编程示例之十:socks4a .. 下一篇模板方法模式

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: