前回、Rubyのリファクタリングでイケてないコードを美しいオブジェクト指向設計のコードへ改良するための方法という記事を書いて、いい反響をいただいたので第2弾を書いた。 Ben Orenstein氏の講演で話されていた前回のとはまた別のリファクタリング方法。元ネタはこちら。 github.com 【リファクタリング前のコード】 class JobSite attr_reader :contact def initialize(location, contact) @location = location @contact = contact end def contact_name if contact contact.name else 'no name' end end def contact_phone if contact contact.phone else 'no phone'
“オブジェクト指向”の意味を本当に理解するには、この概念の始まりを振り返ることが必要です。最初のオブジェクト指向言語はSimulaという言語で、1960年代に登場しました。オブジェクト、クラス、継承とサブクラス、仮想メソッド、コルーチンやその他多くの概念を導入した言語です。おそらく最も重要なのは、データとロジックが完全に独立したものであるとする、当時では全く新しい考え方をもたらしたことでしょう。 Simula自体には馴染みがない方も多いかもしれませんが、Simulaからインスピレーションを得たとされるJavaやC++、C#、Smalltalkといった言語は皆さんよくご存知でしょう。さらにそこからインスピレーションを得たものとしてObjective-CやPython、Ruby、JavaScript、Scala、PHP、Perlなど様々な言語があり、Simulaは現在使用されているポピュラーな
オブジェクト指向って何だろう? Java,C#,Ruby,Python,Objective-C,Perl…近年一度は目にしたプログラミング言語ではないでしょうか? これらには共通点があります。 それは「オブジェクト指向プログラミング言語」という点です。 オブジェクト指向の特徴をまとめると,カプセル化(オブジェクトの振る舞いの隠ぺい),継承,多態性(ポリモフィズム)が挙げられます。 …こう聞くととても難しく感じる方もいるのではないでしょうか? オブジェクト指向って難しい? 確かにオブジェクト指向は本来プログラミング技法として始まり浸透してきましたが,その考え方は自然なもので難しいものではありません。ここではごく身近な例でオブジェクト指向の考え方を見ていきましょう。 例えば会社組織を考えてみましょう。ここでは出版社を例にします。 出版社の組織が「管理部」「営業部」「編集部」で成り立って
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く