タグ

ooに関するsatzzのブックマーク (15)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    satzz
    satzz 2010/04/22
  • Context Object - Strategic Choice

    問題プロトコル固有のシステム情報がそのコンテキスト外で使用されることのないようにする必要があります。たとえば、Webコンポーネントには、プロトコル固有のHTTPリクエストがあります。フォースシステム情報へのアクセスを必要とするコンポーネントとサービスがあるアプリケーションのコンポーネントとサービスを、プロトコル固有のシステム情報と切り離したいアプリケーションに関連性のあるAPIだけをアプリケーションのコンテキストに公開したい解決策Context Objectを使用して、状態をアプリケーション全体で共有できるよう、プロトコルに依存しない方法でカプセル化します。ClientはProtocollnterfaceを使用してContextObjectを生成するために、ContextFactoryを使用します。ContextObjectは、周辺のアプリケーションコンポーネントとサービスをProtoco

    satzz
    satzz 2010/03/26
  • 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
    satzz
    satzz 2010/03/21
    2008/04
  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • Mixins considered harmful/1

    The Explorer Mixins considered harmful/1 by Michele Simionato January 1, 2009 Summary A mixin is a collection of methods that can be injected into a class. The mixin technique consists in building classes by composing reusable mixins. The advantages and disadvantages of the technique are very much debated. I will focus on the negative aspects. The idea of creating classes by composing reusable col

    satzz
    satzz 2009/05/07
  • まつもと直伝 プログラミングのオキテ 第3回(3)

    図7 Mix-inによるStreamクラスの構築例<BR>クラス階層はツリー構造を保ちつつ,コードのコピーも避けている。 継承には2つの意味がある Javaのような静的型のオブジェクト指向言語の変数には,変数を介して呼び出されるメソッドを制限する働きがありました。ただし,制限がかかるのは「どのようなメソッドを持っているか」であって,「どのように実装されているか」ではありません。 今まで一まとめにして継承と呼んできましたが,実は継承には2つの異なる概念が含まれています。一つは,「どのようなメソッドを持っているか」あるいは「どのように振る舞うか」ということに着目した「仕様の継承」です。 もう一つは「どのようなデータ構造を使い,どのようなアルゴリズムで処理するか」ということに着目した「実装の継承」です。 静的型言語では両者の区別が重要になります*4。Javaでもこの2つを明確に区別しており,実装

    まつもと直伝 プログラミングのオキテ 第3回(3)
    satzz
    satzz 2009/04/30
    仕様の継承と実装の継承,mix-in
  • Life is beautiful: RailsがRubyで作られた本当の理由

    弾:最初の質問です。なぜRubyを選んだのですか? DHH:極端なことを言うと,Rubyが一番美しく自分のコードが書けるからです。 【小飼弾のアルファギークに逢いたい♥:#2 Ruby on Rails作者 David Heinemeier Hansson(前編) RubyRailsを書いたわけ|gihyo.jpより引用】 この記事を既に読んだ方も多いと思うが、この「Rubyが一番美しく自分のコードが書ける」というセリフは非常に重要である。「イテレータに片思い」というエントリーで書いた通り、Rubyには生みの親の「コードは読みやすくあるべき」という魂がしっかりと込められており、それが「コードの美しさ」に繋がっているのである。 私がRubyを触り始めて一番強く感じたことは、Smalltalkとの類似点である。私自身、90年に数ヶ月間Smalltalkにどっぷりと使っていた時期があるが(マイ

  • メッセージ送信の比較

    ここでは、C++Java、Objective-C、Smalltalk、Dylan、RubyPerl、Self、NewtonScript、AppleScript といった、オブジェクト指向を実現している言語が、メッセージ送信をどのように実装しているか比較してみることだ。どれがいい、悪い、とか、オブジェクト指向の理念に一番近いのはどれか、という議論は、ここでは置いておくよ。 Smalltalk と Self のソースコードと説明は sumim さんに、Dylan のソースコードと説明は 2 さんに、Ruby と NewtonScript のソースコードと説明は GNUE(鵺)さんに、Perl のソースコードと説明は terra さんに、AppleScript のソースコードと説明はかりやんさんに書いていただきました。また、全体的な構成のアドバイスを sumim さんからいただきました。感謝

    satzz
    satzz 2009/04/25
    C++、Java、Objective-C、Smalltalk、Dylan、Ruby、Perl、Self、NewtonScript、AppleScript といった、オブジェクト指向を実現している言語が、メッセージ送信をどのように実装しているか比較
  • クラスなんていらないさ - Python Developers Camp in Japan 2007 Winter

    クラスなんていらないさ - Python Developers Camp in Japan 2007 Winter - 34:32 - Mar 8, 2007 ()  Rate: by 西尾さん Download video - iPod/PSP |  Embed video Download is starting. Save file to your computer. If the download does not start automatically, right-click this link and choose "Save As". How to get videos onto the iPod or PSP. <embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=-12

    satzz
    satzz 2009/03/01
    by nishioさん via id:yaotti
  • プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ

    技術者・SE・プログラマ面接時の技術的な質問事項というエントリをはてブで見かけたのだが、私もjavaプログラマーの面接を割とよくやっているので、よく質問する内容をまとめてみた。 (ちなみに、基的にコーディング面接の形態を取っている) プロジェクトの性質にもよると思うが、私の場合には、情報処理技術者試験的に基礎が満遍なく抑えられているかどうかよりも、 すぐ答えが見つからないような課題に対して、きちんと自分でやり方を考え、対応することができるか 「変な」コードをコミットしたりしないか(見つけにくいバグを混入させるとか、汚いとか、遅いとか)といった点を重視している。 まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。 ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。 これまでに携わってきた開発

    プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ
  • オブジェクトを表すのに最低限必要なものは5つである - 宇宙行きたい

    存在しないを表す nil 真を表す true 偽を表す false 自分自身を参照する self 親を参照する super というお話しを今日、聞いた!! で、それだけしか予約語がない Smalltalk を学ぶべきだ!!と (wikipedia みたら 実行中のコンテキストを参照する「thisContext」があった><) http://www.smalltalk-users.jp/ 2/25 に勉強会があって最初から教えるからおいでと誘われた!! がんばって環境作ります!!って言ったら 環境から作ってあげるからマシンだけ持ってくればOKと!!! まったくわからないけど、OO厨の総山に勉強しに行ってきます!!! 追記: そういえば Mac しか持ってないんだけど大丈夫なのかなぁ?

    オブジェクトを表すのに最低限必要なものは5つである - 宇宙行きたい
  • 和訳 : なぜPythonのメソッドに明示的にselfと書かねばならないのか

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華

  • 基礎からのオブジェクト指向---目次

    オブジェクト 1 英文法で,目的語。 2 対象。客観。 指向 (名)スル 1 ある目的を目指して向かうこと。志向。「医を する」 2 ある特定の方向を指定すること。ある方向に向けること (出典:三省堂「大辞林」) この2つの単語を組み合わせた「オブジェクト指向」は,今やあらゆるIT関連製品や技術に浸透している。プログラミング言語しかり,OSしかり,アプリケーションの連携技術しかり,である。オブジェクト指向を理解し,これらの製品を使いこなすことは,もはや必須のスキルと言ってよい。 ところが,これだけオブジェクト指向が広まっているにも関わらず,オブジェクト指向そのものに対する理解が進んでいるとは言えない。依然として「オブジェクト指向は難しい」,「とっつきにくい」という印象を持つITエンジニアは 多い。 オブジェクト指向を身に付けるためには,まずその根的な考え方を理解する必要がある。特集では

    基礎からのオブジェクト指向---目次
  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

  • 日本語をベースとしたプログラミング言語 - プログラマーの脳みそ

    Latest topics > メソッド名は三人称単数形にするべきかどうか - outsider reflexに挙がっていた話題。 hoge.hasA()ならhogeオブジェクトが主語になるから、hasになるのが自然だよなぁ。 とブックマークコメントをつけたが、オブジェクト指向の場合は、対象となるオブジェクトを主語にとるのが通常なので、英文をベースとするプログラミング言語はSVO型になって三人称単数形になるのが自然なのだろう。 英語と違う語族をベースとした言語なんていうと思い当たるものが限られてしまう。参照元のエントリでも挙げられていたが、やはり思いつくのはなでしこ:日語プログラミング言語だろうか。 いわゆるHello worldプログラムなら以下のようになる。 「こんにちは、世界」を表示。ここでは主語が省略されているわけだが、オブジェクトに対する操作ではない場合は主語なしとなるのが自然

    日本語をベースとしたプログラミング言語 - プログラマーの脳みそ
  • 1