[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

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

タグの絞り込みを解除

oopに関するtaketsのブックマーク (4)

  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
    takets
    takets 2019/11/12
  • 継承と委譲の使い分けと、インターフェースの重要性について

    この記事は、「継承と委譲はどういった性質の違いがあり、どういった基準で使い分けているか?」「インターフェースは何が嬉しいのか?」といった点に関して自分なりに言語化を試みたものです。 TL;DR 継承は子が親と同じ能力や責務を獲得する。委譲は子が親を単なるツールとして所有するだけで、能力や責務は同じにはならない。 子にとって親は単なるツールである場合は委譲を使うのが良い。継承してしまうと子が複数の責務を負うことになり、そのことによる不都合が生じる。 逆に、子が親と同じ責務を持つべき場合には継承を使う。委譲を使うと、子が親と同じ能力を持っていないことによる不都合が生じる。 インターフェースを使うことで責務の分離を強制することができる。インターフェースを適切に設計することができれば、改修時の影響範囲が最低限に留まるなどシステムの保守性や堅牢性が向上し、テストの容易性も得られる。 継承と委譲の違い

    継承と委譲の使い分けと、インターフェースの重要性について
    takets
    takets 2019/06/24
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
    takets
    takets 2007/06/14
  • リファクタリング:お題を考察してみる - がるの健忘録

    以前書いた http://d.hatena.ne.jp/gallu/20061228/p1 で、Jittaさんから > 特に「SQL発行している部分」が散らかっているのは全力で忌避しませう。 ここねぇ。。。 例えば、「顧客マスタ」と「商品マスタ」があるとする。 1.顧客マスタや商品マスタに「データベースからデータを持ってくる」処理を持たせる? 2.「データベースとお話しするクラス」に、「顧客マスタを取得する」処理、「商品マスタを取得する」処理持たせる? 3.「マスタのマスタクラス」を作り、この中で「データベースとお話しする処理」を実装。お話の方法(SQL 文の生成(もちろん、パラメータ使った))は、各派生クラスに任せる? というお話しを頂戴してまして。 …いえ別に「コメントを返そうと思ってすっかり忘れてた」わけではないのですええ。脳内で色々と考察を重ねていただけなのですが(笑 以下、思考の

    リファクタリング:お題を考察してみる - がるの健忘録
    takets
    takets 2007/03/04
    - クラス設計基本的な考え方
  • 1