利用外观模式模拟股民炒股 C++
来源:互联网 发布:linux查看文件大小m 编辑:程序博客网 时间:2024/06/11 21:28
说下对外观模式的理解
外观模式, 为子系统中的一组接口提供了一个一致的界面, 此模式定义了一个高级接口, 这个接口使得这个子系统更加容易使用。
利用外观模式, 客户可以完全不用知道子系统的内部实现, 只要调用外观模式对外提供的接口即可。他完美的体现了依赖倒转原则和迪米特法则的思想。
通常可以用来做分层结构, 在层与层之间利用外观模式, 减低层之间的耦合度。减小因不断重构演化使程序越来越复杂。 他还可以用来维护一些高度复杂, 设计粗糙的遗留代码。
为便于理解, 贴一张图:
uml图:
直接上代码:
mainstock.h
#ifndef _MAINSTOCK_H_#define _MAINSTOCK_H_#include <iostream>using std::cout;using std::endl;/************************************************************************//* 各种杂乱的股票类 *//************************************************************************/class CStock1{public: void sell(){ cout << "sell the stock1" << endl; } void buy(){ cout << "buy the stock1" << endl; }};class CStock2{public: void sell(){ cout << "sell the stock2" << endl; } void buy(){ cout << "buy the stock2" << endl; }};class CStock3{public: void sell(){ cout << "sell the stock3" << endl; } void buy(){ cout << "buy the stock3" << endl; }};class CStock4{public: void sell(){ cout << "sell the stock4" << endl; } void buy(){ cout << "buy the stock4" << endl; }};#endif // _MAINSTOCK_H_
funds.h
#ifndef _FUNDS_H_#define _FUNDS_H_#include "MainStocks.h"/************************************************************************//* 基金类, 用来提供基础类与客户类交互的方式 *//************************************************************************/class CFunds{public: void buyFund1(){ stock1.buy(); stock2.buy(); stock3.buy(); } void buyFund2(){ stock2.buy(); stock4.buy(); }private: CStock1 stock1; CStock2 stock2; CStock3 stock3; CStock4 stock4;};#endif // _FUNDS_H_
main.cpp
#include <iostream>#include "funds.h"using namespace std;int main(){ CFunds fund; fund.buyFund1(); fund.buyFund2(); system("pause"); return 0;}
0 0
- 利用外观模式模拟股民炒股 C++
- 由基金公司与股民 论外观模式(也叫门面模式)
- 【C++】Chapter8:外观模式
- Objective C--外观模式
- Objective C 外观模式
- Objective C--外观模式
- 《Android之大话设计模式》--设计模式之结构型模式 第八章:外观模式 MM也迷恋炒股?
- 股民学堂:短线炒股绝招 值得一学
- 利用外观模式封装类的变化
- tomcat利用外观模式保护数据
- C语言设计模式:外观模式
- C#--设计模式之外观模式
- 模拟炒股常识——模拟炒股平台如何选择
- 模拟炒股系统篇之一
- 外观模式
- 外观模式
- 外观模式
- 外观模式
- ffmpeg 安装过程
- PHP 语法
- bzoj-2705
- 蓝桥杯 历届试题 打印大X
- 珍爱生命,远离剩菜!——川大食堂狂想曲
- 利用外观模式模拟股民炒股 C++
- 决策树对比
- I
- Timer
- 教你写响应式框架(四)
- 41.影响iOS6与iOS7屏幕适配的参数和因素
- python基础练习笔记
- nrf51822 ---ancs(2)
- could not bind to address 0.0.0.0:443 no listening sockets available, shutting d