JAVA
スポンジにあれこれデコレートすればいろんなケーキが作れますよねパターン。デコレートする→あれこれ外側を自由に変えられる、ってことで頭の中でイメージした構造がどっかで見たことあるものになってしまって、何かと思ったらBuilderパターンだった。ぜん…
容器と中身を同一視し、再帰的な構造を作りますよパターン。再帰キターーー。リカーシブなモノはもうそれだけでカッコイイ。大抵の場合カッコイイ。帰納、再帰カッコヨス。しかし、再帰的という言葉から自分のインスタンスを自ら生成して、それから…と、意味不明な思考…
戦略(アルゴリズム)をごっそり入れ替えられますよパターン。つーか名前からしてカッコヨスなパターン。導入部分に「カチッと切り替える」という表現があって、ああ「委譲だ」と反応できた。まぁ前回のBridgeパターンのイメージが残っていたので抽象クラスを使った…
「機能」と「実装」は分けた方がいいですよ、私が橋渡しをしますからパターン。もうちょっと言うとごっちゃになったクラスの階層を「機能クラスの階層」と「実装クラスの階層」に分けてその間を「委譲」の関係で繋ぐパターン。今回は導入部分での「クラスと…
ちょっと一息ついて考え事。パターンの拡張性について。 Builderパターンと今日扱ったAbstract Factoryパターンにおいては「抽象レベルでの設計でどこまで先を見通せるかがカギ」といったような、そのパターンの拡張性についての欠点とも取れる記述がある。…
抽象レベルでちょっと複雑な構成まで作っておくよパターン(これがいい表現かはちと怪しい)。Factory(工場)という言葉からベルトコンベア→流れ作業をイメージしてしまったけど、そういうことではない。抽象レベルで型を作ることで、そこにあとから具象レ…
複雑な構造をコツコツ組み上げていきましょうパターン。そう聞いて思わず何階層にもわたって継承する様子をイメージしてしまったのですが、そんなわけないですよね。うーむ…センスないなぁ。 Builderパターンは前に出てきたTemplate Methodと似ているなぁと…
インスタンスはコピーして作りましょうパターン。プロトタイプという言葉から連想できるように、雛形を用意しておいて必要に応じてコピーして使う、というもの。同じクラスからいろんなバリエーションのインスタンスを生成するのに便利っぽい。本のサンプル…
んでデザパタもめげずに再開。ちょっと書き方変えてパターン毎に分けようかと思います。前の4つもそのうちできたら書き直すかも。 今回はSingleton。インスタンス一個しか作りませんパターン。んでここにも別件で何度も登場しているし、結構お目にかかる事…
前回"その1"って書くの忘れたな、まあいいか。応援して頂いて俄然やる気モード。もちろん本も購入モード。 今日はTemplate MethodとFactory Method。んで内容は難しいことはなく、やはりすいすい読めた。今回の2つの内容はオブジェクト指向ってこんなに便利…
そのうち読もう読もうと思いながらも、他にも積読になっている本を見てはなかなか手を出せずにいた結城さんのデザインパターン入門。先日、偶然会社の人がこれはいいよって薦めてくれちゃったので読むしかないだろう、と。とりあえず借りて読み始めました(…
間が空いてしまったけれども気を取り直して。懲りずにJAVAWORLD、もう12月だと言うのにまだ11月号だ。今回の内容は抽象クラスとインタフェースの違いについて。常識なのかも知れないけど考えたこともなかったのでメモ。 JAVAでクラスの多重継承ができないの…
先日ちょいと書いたJAVAWORLDのお話の続き。本当に読みたかったのはこの世代別GCについて。以下やはり殴り書きメモ。Q.オブジェクトは使い回したほうがGCの対象にならないので速いってホント? A.ウソ(一概にそうとは言えない) 世代別コピー式GC(っちゅう…
実はいろんな本を掛け持ちして読んでいるから進まない、という話。こっちは会社に置いてあるJAVAWORLDから。昼休みと残業前のわずかな時間に必死こいて読んでます。別に業務中に読んでも良いのだろうけど、文字通り業務で手一杯でムリぽ。業務中に本読める人…
間隔空きすぎな感じもあるけど、以前ちょっと触れたJAVAなフレームワークについて、休日のマターリ読書による進捗をメモ。 以前はSpringのみ触れましたが、他にSpringに並ぶフレームワークとしてSeasar2(Seasar version2)というのもある模様。2つを比較し…
今の部署…っていきなり書いても微妙か。まあいいや。今の部署の方々は非常に勉強熱心で、週に一度勉強会なるものがあります。やってる内容もプレゼンやらJAVAプログラミングやらWebアプリケーション開発などなど盛り沢山。今日はそのうちのWebアプリ開発の勉…
参照されなくなったオブジェクトを消して(解放して)くれるっちゅーヤツ。 でもあくまでgc()の対象が発生した場合に、それが消される可能性があるってだけで、確実に消すわけでもないらしく。 今日どうしても結論が出なかったのがString型に関しての話。例…
またJAVA、なんだけどあまり時間がないので簡単に。synchronizedの同期処理のメモ。 オブジェクト指向ってことで実世界を意識しながらプログラムを書くのがひとつの筋かなーとか思いながらあれこれ考える。んで例えば「一つの銀行(口座)オブジェクトに(不…
いきなりだけど恥ずかしいお話。 JAVAを含め、CやらPascalといったコンパイラ型と呼ばれる言語について、オレはインタプリタは存在しないと思っていた。自分の頭の中では「コンパイラ←→インタプリタ」って感じだった。 けど昨日JAVAやってる中でコンパイラ→…