好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Ruby設計模式編程中對外觀模式的應用實例分析

Ruby設計模式編程中對外觀模式的應用實例分析

熱門標簽:湖州u友防封電銷卡 百度地圖標注自定義圖片 徐州網絡外呼系統哪個好 電銷機器人廠商代理 高德地圖標注客服 常德電銷平臺外呼系統軟件價格 滴滴外呼系統 地圖標注賺錢項目注冊 白銀外呼paas系統

何為外觀模式?

    外觀模式為子系統中一組不同的接口提供統一的接口。外觀定義了上層接口,通過降低復雜度和隱藏子系統間的通信以及依存關系,讓子系統更加易于使用。

    比方說子系統中有一組不同的類,其中一些彼此依賴。這讓客戶端難以使用子系統中的類,因為客戶端需要知道每一個類。外觀起到整個子系統的入口。有些客戶端只需要子系統的某些基本行為,而對子系統的類不做太多定制,外觀為這樣的客戶端提供簡化的接口。只有需要從某些子系統的類定制更多行為的客戶端,才會關注外觀背后的細節。

    外觀模式:為系統中的一組接口提供一個統一的接口。外觀定義一個高層接口,讓子系統更易于使用。

何時使用外觀模式?

  •     子系統正逐漸變得復雜。應用模式的過程中演化出許多類,可以使用外觀為這些子系統提供一個較簡單的接口。
  •     可以使用外觀對子系統進行分層。每個子系統級別有一個外觀作為入口點。讓它們通過其外觀進行通信,可以簡化它們的依賴關系。

Ruby版外觀模式應用
需求:

股民買賣股票

初步代碼:

# -*- encoding: utf-8 -*-

#股票1
class Stock1
  def buy
    puts '股票1買入'
  end
  
  def sell
    puts '股票1賣出'
  end
end

#股票2
class Stock2
  def buy
    puts '股票2買入'
  end
  
  def sell
    puts '股票2賣出'
  end
end

#股票3
class Stock3
  def buy
    puts '股票3買入'
  end
  
  def sell
    puts '股票3賣出'
  end
end

#國債1
class NationalDebt1
  def buy
    puts '國債1買入'
  end
  
  def sell
    puts '國債1賣出'
  end
end

#房地產1
class Realty1
  def buy
    puts '房地產1買入'
  end
  
  def sell
    puts '房地產1賣出'
  end
end
s1 = Stock1.new
s2 = Stock2.new
s3 = Stock3.new
n1 = NationalDebt1.new
r1 = Realty1.new

s1.buy
s2.buy
s3.buy
n1.buy
r1.buy

s1.sell
s2.sell
s3.sell
n1.sell
r1.sell

問題:

可以發現用戶需要了解股票、國債、房產情況,需要參與這些項目的具體買和賣,耦合性很高。

改進代碼

# -*- encoding: utf-8 -*-

#股票1
class Stock1
  def buy
    puts '股票1買入'
  end
  
  def sell
    puts '股票1賣出'
  end
end

#股票2
class Stock2
  def buy
    puts '股票2買入'
  end
  
  def sell
    puts '股票2賣出'
  end
end

#股票3
class Stock3
  def buy
    puts '股票3買入'
  end
  
  def sell
    puts '股票3賣出'
  end
end

#國債1
class NationalDebt1
  def buy
    puts '國債1買入'
  end
  
  def sell
    puts '國債1賣出'
  end
end

#房地產1
class Realty1
  def buy
    puts '房地產1買入'
  end
  
  def sell
    puts '房地產1賣出'
  end
end

#基金類
class Fund
  attr_accessor s1, s2, s3, n1, r1
  
  def initialize
    s1 = Stock1.new
    s2 = Stock2.new
    s3 = Stock3.new
    n1 = NationalDebt1.new
    r1 = Realty1.new
  end
  
  def buy
    s1.buy
    s2.buy
    s3.buy
    n1.buy
    r1.buy
  end
  
  def sell
    s1.sell
    s2.sell
    s3.sell
    n1.sell
    r1.sell
  end
end

f1 = Fund.new
f1.buy
f1.sell

好處:用戶不需要了解各種股票,只需購買賣出基金即可。

您可能感興趣的文章:
  • 設計模式中的觀察者模式在Ruby編程中的運用實例解析
  • 實例解析Ruby設計模式開發中對觀察者模式的實現
  • 深入剖析Ruby設計模式編程中對命令模式的相關使用
  • 詳解組合模式的結構及其在Ruby設計模式編程中的運用
  • 設計模式中的模板方法模式在Ruby中的應用實例兩則
  • 實例解析Ruby設計模式編程中Strategy策略模式的使用
  • 實例講解Ruby使用設計模式中的裝飾器模式的方法
  • Ruby設計模式編程中使用Builder建造者模式的實例
  • 詳解Ruby設計模式編程中對單例模式的運用
  • Ruby設計模式編程之適配器模式實戰攻略
  • Ruby使用設計模式中的代理模式與裝飾模式的代碼實例
  • Ruby中使用設計模式中的簡單工廠模式和工廠方法模式
  • 解析proxy代理模式在Ruby設計模式開發中的運用

標簽:公主嶺 遼寧 荊門 張家界 永州 三沙 梧州 普洱

巨人網絡通訊聲明:本文標題《Ruby設計模式編程中對外觀模式的應用實例分析》,本文關鍵詞  Ruby,設計模式,編程,中,對,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby設計模式編程中對外觀模式的應用實例分析》相關的同類信息!
  • 本頁收集關于Ruby設計模式編程中對外觀模式的應用實例分析的相關信息資訊供網民參考!
  • 推薦文章