《大話設計模式》ruby版代碼:簡單原廠模式

來源:互聯網
上載者:User

標籤:

之前有看過《ruby設計模式》,不過漸漸的都忘記了。現在買了一個大話設計模式,看起來不是那麼枯燥,順便將代碼用ruby實現了一下。

 

# -*- encoding: utf-8 -*-#運算類class Operation    attr_accessor :number_a,:number_b        def initialize(number_a = nil, number_b = nil)        @number_a = number_a        @number_b = number_b    end        def result        0    endend#加法類class OperationAdd < Operation    def result        number_a + number_b    endend#減法類class OperationSub < Operation    def result        number_a - number_b    endend#乘法類class OperationMul < Operation    def result        number_a * number_b    endend#除法類class OperationDiv < Operation    def result        raise ‘除數不能為0‘ if number_b == 0            number_a / number_b    endend#工廠類class OperationFactory    def self.create_operate(operate)        case operate        when ‘+‘            OperationAdd.new()        when ‘-‘            OperationSub.new()        when ‘*‘            OperationMul.new()        when ‘/‘            OperationDiv.new()        end    endendoper = OperationFactory.create_operate(‘/‘)oper.number_a = 1oper.number_b = 2p oper.result

 

《大話設計模式》ruby版代碼:簡單原廠模式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.