外观模式——基金帮我炒股

简介: 外观模式——基金帮我炒股

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


●  门面(Facade)角色 :客户端可以调用这个角色的方法。此角色知晓相关的(一个或者多个)子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。

●  子系统(SubSystem)角色 :可以同时有一个或者多个子系统。每个子系统都不是一个单独的类,而是一个类的集合(如下面的子系统就是由Stock1、Stock2、Stock3三个类组合而成)。每个子系统都可以被客户端直接调用,或者被门面角色调用。

子系统并不知道门面的存在,对于子系统而言,门面仅仅是另外一个客户端而已,两者是关联关系。

优点:


松散耦合:门面模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护。

简单易用:门面模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟门面类交互就可以了。

更好的划分访问层次:通过合理使用Facade,可以帮助我们更好地划分访问的层次。有些方法是对系统外的,有些方法是系统内部使用的。把需要暴露给外部的功能集中到门面中,这样既方便客户端使用,也很好地隐藏了内部的细节。


   例子背景:基金能帮助股民管理股票,交给基金来炒股的好处就是,股民不需要对市场上的股票一一进行了解,只要选择一支基金,让它来帮忙打理即可。

股票类:

    class Stock1  //股票1
    {
        public void Sell()
        {
            Console.WriteLine ("股票1卖出");
        }
        public void Buy()
        {
            Console.WriteLine("股票1买入");
        }
    }
    class Stock2  //股票2
    {
    代码类似,省略
    }
    class Stock3  //股票3
    {
    代码类似,省略
    }

基金类:统一打理股票

    class Fund
    {
        Stock1 gu1;
        Stock2 gu2;
        Stock3 gu3;
        public Fund()
        {
            gu1 = new Stock1() ;
            gu2 = new Stock2();
            gu3 = new Stock3();
        }
        public void BuyFund() //三股一起买入
        {
            gu1.Buy();
            gu2.Buy();
            gu3.Buy();
        }
        public void SellFund()  //三股一起卖出
        {
            gu1.Sell();
            gu2.Sell();
            gu3.Sell();
        }
    }

客户端:不用了解股票1、2、3,依赖基金即可

        static void Main(string[] args)
        {
            Fund jijin = new Fund();
            jijin.BuyFund();
            jijin.SellFund();
            Console.Read();
        }
相关文章
|
安全
卡牌NFT链动链游系统开发项目方案丨航海士NAGA链游系统开发技术
卡牌NFT链动链游系统开发项目方案丨航海士NAGA链游系统开发技术
|
安全 分布式数据库 区块链
期权现货合约系统开发方案丨成熟技术
区块链本质上是一种去中心化的分布式数据库
|
前端开发 安全 API
 GameFi链游系统开发(BSC链源码)丨币安农场链游系统开发   
区块链技术为游戏行业带来了新的机遇和挑战
|
供应链 物联网 区块链
代币模式系统开发:成为未来独角兽的秘诀
代币模式系统开发:成为未来独角兽的秘诀
134 0
链游开发成本(币安英雄+飞船系统开发)
眼看链游的项目风起云涌,已经逐渐从链游1.0迈向2.0。链游开发,无疑是2021人们资本市场经常说的关键字。还在有人问,链游开发贵吗?链游2.0逐渐增强游戏的可玩性、持久性,开发出更趋于完美的经济模式。如何避免“元宇宙链游”的内在垄断?这个世界里有一种基因可以避免被少数势力垄断。Roblox的共同创始人NeilRimer建议说:Metaverse的能源将来自用户,而非企业。没有哪个企业可以单独建立一个“元宇宙链游”,而是依赖各方面的力量聚集在一起。
链游开发成本(币安英雄+飞船系统开发)
|
开发框架 Serverless API
国王小组:交易所开发框架
概述ExchangeSharp是一个C#框架/lib和控制台应用程序,用于加密货币资产的交易和与各种交易所API端点的通信。支持许多交易所,以及网络套接字、提款等
|
图形学
DAPP丨NFT卡牌/盲盒/农场/对战链游系统开发技术说明及详细源码
在mesh正常渲染结束后,再渲染一次,使用decal的shader,向shader中传入一个ClipToDecal的矩阵(=ClipToWorld*WorldToDecal),在FS中计算计算映射到decal框中的坐标,取决于具体的实现,可以将xy坐标作为uv,以及裁剪掉uv0~1之外的部分,将decal渲染出来.
|
JSON 供应链 JavaScript
NFT卡牌/盲盒/对战/农场链游系统开发方案详细(源码分析)
  一是人机交互技术。这是元宇宙最核心的关键技术之一,主要包括VR虚拟现实技术、AR增强现实技术、MR混合现实技术、全息影像技术、脑机交互技术和体感技术,为元宇宙用户提供了虚拟沉浸现实的体验阶梯,不断深化感知交互。沉浸式交互设备为玩家进入元宇宙提供了真实、持久且顺畅的交互体验,是真实世界与元宇宙的桥梁,而沉浸感的实现需要依托于一个终端设备接口来实现。具备3D显示、大视角高分辨率的AR/VR/MR有望成为元宇宙世界的重要接入方式。
|
存储 安全 算法
NFT链游系统开发的解决方案(币安英雄系统开发)
互联网的普及让手游成为了新的焦点,许多好的手游能创造出更大的价值,但传统手游的虚拟装备是不能交易的,这让玩家的体验感没能更好的体现出来,NFT开发的链游打造的是可交易的平台,优化了玩家不能交易装备的弊端。 NFT是区块链技术发展的产物,要想做好交易首先要解决的就是信任问题,同属与区块链技术开发下的dapp能为交易提供智能合约,买卖在符合条件的情况下才可以进行,打破的不止是信任,还可以让交易变得简易、安全。
链游盲盒是什么 (nft链游开发)
盲盒是一种年轻人的新潮玩具,盒子里装着一些特殊的表情、稀有的卡片等玩具,这些玩具具有一定的收藏价值。消费者直到打开盒子才知道里面装的是什么玩具,正是这种不可预测性让许多年轻人迷上了盲盒。
链游盲盒是什么 (nft链游开发)