サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
問題プロトコル固有のシステム情報がそのコンテキスト外で使用されることのないようにする必要があります。たとえば、Webコンポーネントには、プロトコル固有のHTTPリクエストがあります。フォースシステム情報へのアクセスを必要とするコンポーネントとサービスがあるアプリケーションのコンポーネントとサービスを、プロトコル固有のシステム情報と切り離したいアプリケーションに関連性のあるAPIだけをアプリケーションのコンテキストに公開したい解決策Context Objectを使用して、状態をアプリケーション全体で共有できるよう、プロトコルに依存しない方法でカプセル化します。ClientはProtocollnterfaceを使用してContextObjectを生成するために、ContextFactoryを使用します。ContextObjectは、周辺のアプリケーションコンポーネントとサービスをProtoco
Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい本、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた
_ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは本当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな
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
図7 Mix-inによるStreamクラスの構築例<BR>クラス階層はツリー構造を保ちつつ,コードのコピーも避けている。 継承には2つの意味がある Javaのような静的型のオブジェクト指向言語の変数には,変数を介して呼び出されるメソッドを制限する働きがありました。ただし,制限がかかるのは「どのようなメソッドを持っているか」であって,「どのように実装されているか」ではありません。 今まで一まとめにして継承と呼んできましたが,実は継承には2つの異なる概念が含まれています。一つは,「どのようなメソッドを持っているか」あるいは「どのように振る舞うか」ということに着目した「仕様の継承」です。 もう一つは「どのようなデータ構造を使い,どのようなアルゴリズムで処理するか」ということに着目した「実装の継承」です。 静的型言語では両者の区別が重要になります*4。Javaでもこの2つを明確に区別しており,実装
弾:最初の質問です。なぜRubyを選んだのですか? DHH:極端なことを言うと,Rubyが一番美しく自分のコードが書けるからです。 【小飼弾のアルファギークに逢いたい♥:#2 Ruby on Rails作者 David Heinemeier Hansson(前編) RubyでRailsを書いたわけ|gihyo.jpより引用】 この記事を既に読んだ方も多いと思うが、この「Rubyが一番美しく自分のコードが書ける」というセリフは非常に重要である。「イテレータに片思い」というエントリーで書いた通り、Rubyには生みの親の「コードは読みやすくあるべき」という魂がしっかりと込められており、それが「コードの美しさ」に繋がっているのである。 私がRubyを触り始めて一番強く感じたことは、Smalltalkとの類似点である。私自身、90年に数ヶ月間Smalltalkにどっぷりと使っていた時期があるが(マイ
ここでは、C++、Java、Objective-C、Smalltalk、Dylan、Ruby、Perl、Self、NewtonScript、AppleScript といった、オブジェクト指向を実現している言語が、メッセージ送信をどのように実装しているか比較してみることだ。どれがいい、悪い、とか、オブジェクト指向の理念に一番近いのはどれか、という議論は、ここでは置いておくよ。 Smalltalk と Self のソースコードと説明は sumim さんに、Dylan のソースコードと説明は 2 さんに、Ruby と NewtonScript のソースコードと説明は GNUE(鵺)さんに、Perl のソースコードと説明は terra さんに、AppleScript のソースコードと説明はかりやんさんに書いていただきました。また、全体的な構成のアドバイスを sumim さんからいただきました。感謝
クラスなんていらないさ - 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
技術者・SE・プログラマ面接時の技術的な質問事項というエントリをはてブで見かけたのだが、私もjavaプログラマーの面接を割とよくやっているので、よく質問する内容をまとめてみた。 (ちなみに、基本的にコーディング面接の形態を取っている) プロジェクトの性質にもよると思うが、私の場合には、情報処理技術者試験的に基礎が満遍なく抑えられているかどうかよりも、 すぐ答えが見つからないような課題に対して、きちんと自分でやり方を考え、対応することができるか 「変な」コードをコミットしたりしないか(見つけにくいバグを混入させるとか、汚いとか、遅いとか)といった点を重視している。 まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。 ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。 これまでに携わってきた開発
存在しないを表す nil 真を表す true 偽を表す false 自分自身を参照する self 親を参照する super というお話しを今日、聞いた!! で、それだけしか予約語がない Smalltalk を学ぶべきだ!!と (wikipedia みたら 実行中のコンテキストを参照する「thisContext」があった><) http://www.smalltalk-users.jp/ 2/25 に勉強会があって最初から教えるからおいでと誘われた!! がんばって環境作ります!!って言ったら 環境から作ってあげるからマシンだけ持ってくればOKと!!! まったくわからないけど、OO厨の総本山に勉強しに行ってきます!!! 追記: そういえば Mac しか持ってないんだけど大丈夫なのかなぁ?
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonの生みの親Guidoパパのブログエントリを翻訳してみました。「Why explicit self has to stay - なぜPythonのメソッド引数に明示的にselfと書くのか」。Pythonのメソッド引数に書く「self」はしばしば,他言語からのPython移民を中心に「ウザイ」「キモイ」「消えてなくなれ」と攻撃の対象となることが多いのです。GuidoパパはPythonが生まれて10年,もう何度も似たようなことを聞かされ,そのたびに明快な反論を行ってきました。言語の設計者には,技術的な素養はもちろんのこと,情熱と根気,そして我慢強さが必要なんだなあとつくづく思い知
オブジェクト 1 英文法で,目的語。 2 対象。客観。 指向 (名)スル 1 ある目的を目指して向かうこと。志向。「医を する」 2 ある特定の方向を指定すること。ある方向に向けること (出典:三省堂「大辞林」) この2つの単語を組み合わせた「オブジェクト指向」は,今やあらゆるIT関連製品や技術に浸透している。プログラミング言語しかり,OSしかり,アプリケーションの連携技術しかり,である。オブジェクト指向を理解し,これらの製品を使いこなすことは,もはや必須のスキルと言ってよい。 ところが,これだけオブジェクト指向が広まっているにも関わらず,オブジェクト指向そのものに対する理解が進んでいるとは言えない。依然として「オブジェクト指向は難しい」,「とっつきにくい」という印象を持つITエンジニアは 多い。 オブジェクト指向を身に付けるためには,まずその根本的な考え方を理解する必要がある。本特集では
(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プログラムなら以下のようになる。 「こんにちは、世界」を表示。ここでは主語が省略されているわけだが、オブジェクトに対する操作ではない場合は主語なしとなるのが自然
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く