タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

オブジェクト指向とRubyに関するmasayoshinymのブックマーク (4)

  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai

  • インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) | mah365

    Rubyといったオブジェクト指向言語を学ぶと、メソッドの定義方法としてインスタンスメソッドとクラスメソッドという2通りの定義方法があることを学ぶと思います。しかし、言語自体のガイドブックには「定義方法にインスタンスメソッドとクラスメソッドがある」と書いてあるだけで、大抵その使い分けについては書かれていません。 そういう訳で、このエントリではその使い分けについて少し考えてみたいと思います。理論的に厳密な使い分けを目指すというよりは、そもそも使い分けの検討が全くつかない!という方に向けて、その指針の一助となることを目指します。 インスタンスメソッドとクラスメソッドとはそもそものところ、Rubyといった「オブジェクト指向の考え方」を実装した言語の機能です。その機能がなぜあるのか?というそもそものところは、オブジェクト指向の考え方にさかのぼることになります。 そこで、インスタンスメソッドとクラスメ

    インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) | mah365
  • 【Ruby】接客と委譲 - 旧gaaamiiのブログ

    (さらに追記)不十分なところを指摘していただきました!ありがとうございます! nomnel.net (追記)オープンクラスの理解が間違っていたためタイトルを変更しました。今回あげている例はNoMethodErrorを起こさずに他のオブジェクトに処理を委譲する流れを説明したものです。 パーフェクトRubyの7章で、存在しないメソッドを呼び出したときにNoMethodErrorを発生させる代わりに他のオブジェクトに処理を任せる、という内容の節がありました。これを接客業に当てはめて説明してみたくなったので、ブログ記事にしています。 接客でやってはいけないこと 派遣バイトとしてコンサート会場などの案内スタッフになると、業務前にほぼ必ず以下のような説明を受けます。 みなさんは日、◯◯(イベント会社)のスタッフです。そのためお客様に対して「わからない」と言ってはいけません。必ず、「お待ちください」と

    【Ruby】接客と委譲 - 旧gaaamiiのブログ
  • アブストラクトファクトリ(Abstract Factory) | Ruby デザインパターン

    アブストラクトファクトリは、矛盾のないオブジェクトの生成を行うためのパターンです。 このアブストラクトファクトリをRubyコードで紹介します。 😀 ソースコードを使ったAbstract Factoryの説明Abstract Factoryをソースコードを使って説明します。 ここでは次のような池をサンプルとして取り上げます。 動物を表すクラス: アヒルを表すDuckクラスは、事(eat)メソッドを持っている カエルを表すFrogクラスは、事(eat)メソッドを持っている 植物を表すクラス: 藻を表すAlgaeクラスは、成長(grow)メソッドを持っている スイレンを表すWaterLilyクラスは、成長(grow)メソッドを持っている 池の生態系を生成するクラス: コンストラクタで動物と植物を定義する 動物、植物のオブジェクトを返すメソッドを持っている 池の環境(動物と植物の組み合わせ)

    アブストラクトファクトリ(Abstract Factory) | Ruby デザインパターン
  • 1