タグ

ooに関するjoan9のブックマーク (50)

  • オブジェクト指向の法則集 - Qiita

    この記事は、故石井勝さんが1999年に書いた記事を Qiita に転載するものです。オブラブ(objectclub.jp)にて記事をホスティングしていましたが、現代でも十分に読める内容なので、たくさんの方に読んでもらいたいと思い、若干の編集(リンクとコンテキスト追加)を平鍋が行い、転載します。今でも、読みやすく、カジュアルな語り口のよい記事です。 オブジェクト指向の法則集(転載元:http://objectclub.jp/community/memorial/homepage3.nifty.com/masarl/article/oo-principles.html ) なお、この記事の他にも石井さんのオブジェクト指向やRubyに関する多くの記事をオブラブの「まさーるのページ」で読むことができます。では、以下に石井勝さん(旧メールアドレス masarl@nifty.com)の記事を転載します

    オブジェクト指向の法則集 - Qiita
    joan9
    joan9 2015/10/22
  • クラス設計の原則 — みんなのウェディングエンジニアリングブログ

    みんなのウェディングの高井です。 クラスベースのオブジェクト指向プログラミング言語を利用している人であれば、クラスとは、ありふれていて普段から利用するものです。にもかかわらず、良いクラスをつくるというのは、なかなかに難しいことです。 先日、みんなのウェディングでアルバイトをしてくれている学生さんのコードレビューをしていたときにも、それを強く感じました。 実践的プラグマティックには「ソフトウェアの規模や文脈にあわせて、適切に抽象化していただきたい」という以上のことを言っても仕方がないところなのですが、それだけでは経験の浅いプログラマーにとって、まったく分からないという話になってしまいます。 というわけで、今回はクラス設計の原則についてのお話しです。 Bertrand Meyerのクラス設計の原則 Bertrand Meyerは『オブジェクト指向入門 第2版』の中で、クラス設計について章をひと

    クラス設計の原則 — みんなのウェディングエンジニアリングブログ
    joan9
    joan9 2015/10/22
  • オブジェクト指向批判記事のフォーマルな補足 - 標高+1m

    おはようございます。会社でパーティーしてたら終電逃したのでせっかくだからと思って新宿から浦和まで歩いてみました。腰から下が死にそうです。 オブジェクト指向をちゃんと知った上でオブジェクト指向はクソだと声高に主張する人があと100人は必要  この記事ですが、正直ここまでバズるとは思っていませんでした。バズったのはよいことなので感涙に咽ぶ限りです。  その場の勢いで書いた物なので、記事文は自分から見てもお粗末な物です。記事中のリンク先や、コメント欄も含めて見てもらえると嬉しいです。  記事中抜けていた、関数型の考えを取り入れることの利点の一つは、ミスを減らすの記事に書きました。記事中で使われた曖昧な言葉については言葉整理で補足させて頂きました。併せてご覧ください。  ブコメやtwitterで、「適材適所」という言葉が散見されました。僕はこれには全面同意です。僕が主張しているのは、現状が適材適

    joan9
    joan9 2014/01/21
  • 存在しない記事 - 標高+1m

    ここにあった記事は消しました。 詳しくは以下: ympbyc.hatenablog.com

    存在しない記事 - 標高+1m
    joan9
    joan9 2014/01/21
  • 福岡県近く|大学生セフレ募集掲示板【|セックスフレンドが欲しい男女が会えるおすすめサイトランキング】大学生セフレ早急募

    joan9
    joan9 2012/12/10
  • Island Life - 「コードの再利用」ってのはオブジェクト指...

    joan9
    joan9 2012/08/20
  • Island Life - Matzにっき:「オブジェクト指向神話」...

    joan9
    joan9 2012/08/20
  • Route 477(2009-06-24)

    ■ [vim] VimでESCを押すたびにファイルを保存する .vimrcに inoremap <ESC> <ESC>:<C-u>w<Return> と書いておくと、ESCでインサートモードから抜けるたびに「:w」でファイルを保存するようになる。 やりすぎだ、と言われるかも知れないが、svnやgit等のバージョン管理システムを使っていれば特に 問題になることはない。むしろ、いちいち「:w<Return>」などと3つもキーを叩いてファイルを保存するのが無駄に思えるくらいだ。 (6/26追記:一方Vimハッカーはこうした:) http://vim.g.hatena.ne.jp/ka-nacht/20090625/1245857600 ■ [ruby] オブジェクト?それクロージャでできるよ という話はLisp系の人ならご存じかもしれないが、最近Schemeでやってみたらなかなか心地よかったので

    Route 477(2009-06-24)
    joan9
    joan9 2009/07/07
  • PHPのOOPとJavaコードを比較してみた · DQNEO日記

    前回の記事ですが、オリジナルはJavaで書かれています。 Java版とPHP版を比較してみると、コード記述にほとんど差がない。 むしろJavaの方が若干コード量が少ない気がする。 ショック! Java版 http://www.objectclub.jp/technicaldoc/testing/stack_tdd.pdfより引用 import java.util.EmptyStackException; /** * @author koji,hiranabe */ public class Stack { private int[] value = new int[10]; private int size; public boolean isEmpty() { return size == 0; } public int top() { emptyCheck(); return valu

    PHPのOOPとJavaコードを比較してみた · DQNEO日記
    joan9
    joan9 2009/06/18
  • 「オブジェクト指向は教えないでください」ってなんてよくわかった会社だろうか - きしだのはてな

    よく分かってる会社だ。 次世代の基幹系オープンシステム開発に利用されるプログラミング言語は? - forest book 先日、SIer友人が新人研修の講師として Java を教えるというお話を聞きました。会社側からは「Java を教えるのではなく、"プログラミング" を教えてほしい。オブジェクト指向は教えないでください。」との指示を受けたそうです。 プログラミングにおいて、現場での「オブジェクト指向」の優先度が低いってことですよね。 そして、理論的にも優先度は低い。アルゴリズムとか関数的ななにかとかをちゃんと扱えるようになるのが先決ですね。 関数+制御構造がやはり基だし、その範囲がちゃんと扱えないで「オブジェクト指向」がちゃんと活用できるとは思えないし。 ただ、そうしようとしてもJavaではオブジェクト指向のための構文を知らざるを得ないので、その範囲のオブジェクト指向の知識は必要に

    「オブジェクト指向は教えないでください」ってなんてよくわかった会社だろうか - きしだのはてな
  • 我が家のOOPの研修 - みねこあ

    プログラミングとOOP をどう教えるかって難しいですね。「個体発生は系統発生を繰り返す」式もいいのですが、心情としては最初から OOP を教えたいところです。でも今の私にはちょっと勝てるイメージがわかないかな。 さて、もともとは Cバリバリなウチのチームが C++ に鞍替えするときにメンバ向けに作った研修がありまして、それがいつの間にやら毎年恒例の講義になってしまいました。今日はちょっとそれをご紹介。ターゲットは 「プログラムはできるけど OOP は解らない人」で、秋以降の新人とか2年目君がターゲットです。 仕事Python じゃないのですが、研修自体のメインの言語は Python を使ってます。理由は 文法が素直 Pythonのドキュメント(標準でついてくるやつ)が良くできている 対話型インタプリタがあると話が早い*1 継承を教えないでポリモーフィズムの話を進められる(←あたしの趣味

    我が家のOOPの研修 - みねこあ
    joan9
    joan9 2009/03/29
  • 駄目なOO本の見分け方? - みねこあ

    正しいアプローチは 良書を読む・・ということなのですが、なにが良書かを判断するのは難しいです。なぜオブや憂が良書として紹介されているのですから、Web の書評の多数決もあんまりあてにならないです。 なので、せめて駄目なOOの見分け方をちょこっとだけ書こうと思います。とはいっても、毒キノコの見分け方 並にナンセンスな話なので、眉に唾を付けて読んでいただけると幸いです。 OOP とは 「カプセル化」「継承」「ポリモルフィズム」である、という説明(いわゆるオブジェクト指向3点セット) を是としていたり、議論の土台においてあるは ダメだとおもったほうが無難です。 「オブジェクト指向プログラミングとは何か?」[Stroustrup87] (PDF, ただし '91 改訂版) - Smalltalkのtは小文字です に詳しいのですが、これはもともとこれだけの言語機能があれば オブジェクト指向

    駄目なOO本の見分け方? - みねこあ
    joan9
    joan9 2009/03/29
  • インスタンスが属するクラスをあとから変更する操作をいろいろな言語で - Smalltalkのtは小文字です

    id:sumim:20090121:p2 の続き。はたしてどんな言語にこの種の機能が備わっているのか興味を持ったので調べて書いてみることにしました。ただ、会社員と学生の例のままではワンニャン同様、そういうことが出来て何が嬉しいのかイメージしにくいと思うので、Common Lisp HyperSpec の CHANGE-CLASS にある座標系変換の例に変えましょう。こちらのほうが、シンプルなまま要点を押さえていてよさそうかなと。 念のため概要と条件を書いておきますと、手順としては、 直交座標系(cartesian)と極座標系(polar)という二つのクラスを定義 極座標系のインスタンスを生成後、それが属するクラスを直交座標系に変更 (おまけで)ふたたび極座標系に という操作を行ない、その後、 直交座標系クラスに属するようになったときに x や y の値も(変換されて)引き継がれているか?

    インスタンスが属するクラスをあとから変更する操作をいろいろな言語で - Smalltalkのtは小文字です
    joan9
    joan9 2009/03/29
  •  ある人が会社員になったり、学生になったりすることを Smalltalk で - Smalltalkのtは小文字です

    つまり会社員、学生をクラスとして定義した場合には、ある人が会社員になったり、学生になったりすることをオブジェクト指向プログラミング言語では直接表現できないのです。 オブジェクト指向は当に「オブジェクト」指向か? OOとはなにか - みねこあ で引用されているこの文を見て、「できないのです」と言い切られてしまうとついね。つい。^^; ということで文脈も空気も読まないで悪ふざけ。 Object subclass: #会社員 会社員 >> 就学する ^self become: (self as: 学生) 会社員 >> 就職する self error: 'すでに会社員です' Object subclass: #学生 学生 >> 就学する self error: 'すでに学生です' 学生 >> 就職する ^self become: (self as: 会社員) | Aさん | Aさん := 学生

     ある人が会社員になったり、学生になったりすることを Smalltalk で - Smalltalkのtは小文字です
    joan9
    joan9 2009/03/29
  • 第2回 mro:次のメソッドはどこ? | gihyo.jp

    モダンなクラス/オブジェクトのあり方は? Perlではそもそもオブジェクトという考え方自体が、Perl 5(Perl 7歳)ではじめて登場した、後付けのものでした。また、その実装も非常におおらかなものだったため、より「格的な」オブジェクト機構を備えた言語のユーザからはしばしば批判されてきました。 ただし、転んでもただでは起きないのがPerlハッカーたちのよいところ。そのような批判を糧に、「⁠モダンPerl」の世界でもっとも激しく、多様に進化してきたのがこの分野です。 今回はそのようなクラス/オブジェクトの進化の一例として、クラスの継承とメソッドの解決順序にまつわる話題をまとめていきます。 継承によるクラスの拡張 伝統的なbaseプラグマを使ってクラスを拡張する場合、継承元と継承先に同名のメソッドがあれば継承先のメソッドだけが優先的に実行されます。 use strict; use warn

    第2回 mro:次のメソッドはどこ? | gihyo.jp
    joan9
    joan9 2009/03/14
    [Class::C3][NEXT][mro]
  • 三系統の“オブジェクト指向”を「北斗の拳」に例えてみる - Smalltalkのtは小文字です

    id:sumim:20080415:p1 の続き? ▼データ型にこだわるOO → 南斗聖拳 広く伝承され、主立ったもので総勢一〇八派に分派している。また、有力流派から派生する流派(派生流派)も存在するため、流派の数はさらに増える(南斗聖拳 - Wikipedia より)。切り裂く技が共通(つまり「ユーザー定義型(抽象データ型)」のことか。これに軸足を置くことに関しては各派共通しているから)。主流派の理念は「カプセル化、継承、ポリモーフィズム」。 ▼メッセージングにこだわるOO → 北斗神拳 一子相伝の暗殺拳である。1800年間他門に敗れたことはないとされ、戦いの中で奥義を見出し、常に進化を続ける点から「地上最強の拳」と呼ばれている。(北斗神拳 - Wikipedia より)。敗れたことはない…とか、最強…とかはファンじゃない人たちからは反感を買いそうだけど、「戦いの中で奥義を見出し、常に進

    三系統の“オブジェクト指向”を「北斗の拳」に例えてみる - Smalltalkのtは小文字です
  • “オブジェクト指向”の本質 - Smalltalkのtは小文字です

    「OO(OOP)とは何か?」については、ネタが割れてしまえばそんなに複雑なものではない…と個人的には最近、考えるようになってきています。 リスコフのユーザー定義型(aka、抽象データ型。データと手続きのセット)そのもの、あるいはその「ユーザー定義型」をクラスやそれに準ずる機能で実現しようとするOO(ストラウストラップ。aka、クラス指向。継承を使ったプログラミング)。もしくはそれらを一般化したOO(クック。aka、手続きによる抽象化)。 メッセージングにより動的性を実現しようとするOO(ケイ。aka メッセージ指向) 今回登場した、後者のメッセージングのOOのミニマリズムをおしすすめることによって派生的に生じたOO(アンガーとスミスからの 派生 変形。aka、プロトタイプベースOO。フレームとスロット、あとは委譲機構があれば十分…というミニマル化の結果、アンガーとスミスの頃には重要だった“

    “オブジェクト指向”の本質 - Smalltalkのtは小文字です
    joan9
    joan9 2009/02/22
  • Moose 入門 - モダンなPerl入門

    LL温泉2008用の資料です。 最近の Perl OOP のこと。 Perl5 の OOP と簡単なモジュールのつくりかた。 Perl5 についての見解 Perl5 の OOP はむずかしい。 昔ながらの Perl5 OOP package Person; # クラス宣言 use strict; use warnings; sub new { my ($class) = @_; return bless { name => '', age => undef, }, $class; } sub name { my ($self, $name) = @_; $self->{'name'} = $name if $name; return $self->{'name'}; } sub age { my ($self, $age) = @_; $self->{'age'} = $age if $a

  • ソフトウェア工学とか - プログラマーの脳みそ

    流れに乗り損ねたけども。 ソフトウェア工学は単一の方向を向いているものではない。というか、多様なジャンルがあるなかで「属人性を排除して開発者の能力を均一化しようとしている」なんて統一の目的感があるわけがない。 より高度なソフトウェア製品を作るには、ソフトウェア工学の成果を持って当たることになる。データマイニングの技術は属人性の排除か?まったくそんなことはない。ひとまとめに「ソフトウェア工学」と言ってしまうのはあまり質的ではないと思う。 SI業務のふたつの仕事 さて、ソフトウェア工学のなかでも話のターゲットになっているであろうオブジェクト指向技術だとかの話。近年広く普及したオブジェクト指向だとかは、僕は高度技術を振るう作業と単純作業の間を分かつモノとして働いていると分析している。*1そして、単純作業をするのには特別の才能を必要とせず、SI業務はこうした頭数でこなされる部分が多い。ボリューム

    ソフトウェア工学とか - プログラマーの脳みそ
    joan9
    joan9 2009/02/15
    # オブジェクト指向技術は高度な仕事と単純な仕事の分離を推進した # 高度な仕事というのは属技能性が高い # 属技能性と属人性は似て非なるもの # 高度な仕事も単純な仕事もいっしょくたに人月いくらってやるのはやめてくれ! # 必要とされる技術を測るモノサシを用意しないと解決しないかも
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
    joan9
    joan9 2009/01/18