萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Ruby優化繼承類實例

Ruby優化繼承類實例

   這篇文章主要介紹了Ruby優化繼承類實例,本文直接給出一個優化實例及實現代碼,需要的朋友可以參考下

  在Rails的原則裡有簡化Controller,豐富Model的說法。下面將用一個示例展示一個簡單的繼承優化。特別是你的method裡有一個寫變化的self變量的時候。

  假設我們有如下的Model

   代碼如下:

  class SubjectMatterExpert < User

  include HashCodeCreatorModule

  def make_activation_code

  self.deleted_at = nil

  self.activation_code ||= make_hash_code

  end

  end

  class Administrator < User

  include HashCodeCreatorModule

  def make_activation_code

  self.deleted_at = nil

  self.activation_code ||= make_hash_code

  end

  end

  我們可以通過繼承的使用簡化代碼如下SubjectMatterExpert Administrator

   代碼如下:

  class SubjectMatterExpert < User

  end

  class Administrator < User

  end

  class User

  include HashCodeCreatorModule

  def make_activation_code

  self.deleted_at = nil

  self.activation_code ||= make_hash_code

  end

  那麼我們也可以在測試中這麼使用:

  代碼如下:

  it 'should create an activation code' do

  admin = Factory(:administrator)

  admin.make_activation_code

  admin.activation_code.should_not be_empty

  end

copyright © 萬盛學電腦網 all rights reserved