オブジェクト指向プログラミングの具体例(入門編)

前回の続きです。前の回ではオブジェクト指向として一番重要なのが「メッセージング」という概念だと記述しました。そして、作るべきオブジェクトの単位として

「現実をモデルとし、メッセージングを行える単位にまで整理した構造体」

だと(勝手に)定義しました。
現実をモデルとするのは、それが直感的にわかりやすいからですね。
そこで今回と次回を通じて、上記を想定にしてどのようなクラスを作るべきかを最初は簡単な例から考え、次にもう少し複雑なものを想定して考えていきます。

ちなみに、ソースコードはほとんど記述しません。ロジック部分は、オブジェクト指向とはほとんど関係がないからです。なので主にクラス図を使って説明していきます。 続きを読む

新人さんにオブジェクト指向について教えたときの説明

最近、新人プログラマさんにオブジェクト指向について教えたりする機会があったのですが、改めて自分の中でも整理する意図も兼ねてブログに説明した内容を記述します。

最初に断っておくと、(きっと多くの人もそうだと思うんだけど)ぼくも誰かから「きっちりした正解を学んだ」わけじゃありません。いろんな本やWebの記事を読んだり実際コーディングしたりしながら「たぶんこんなもんなんだろう」と自分なりに解釈した派です。
なので、ぼくも大いに誤解している可能性もあります。その際は指摘してもらえると嬉しいです。

※そもそも「オブジェクト指向」自体がなり曖昧な表現だとも思っており、いくらでも解釈できるが故に「これが正解!」といえるようなものはないんじゃないかなとも思ってます。

さて、オブジェクト指向とはなにか。
誤解を恐れずに自分の解釈を言えば、それは「整理術」です。それ以上でも、それ以外でもありません。
以下でそう思う理由なども含めて説明していきます。 続きを読む

JavaBeansの使われ方がどうも納得できないって話

ここ最近、Eclipse Plugin開発の方に興味がいっちゃってちっともアプリ作れてません(´・ω・`)
日記とか称して書いてみたもののすぐにやめちゃったし。
まあ趣味でやってるだけだからやりたいことをやればいいよね(って自分に言い聞かせてみる)。
いずれ備忘もかねてEclipse Pluginのノウハウをまとめられたらって思ってたんですけど、なんだかそういう気分にもならなかったので
ブログの更新も随分音沙汰でした。

それはそうと、いつも「ん・・・」ってなるのがJavaBeansの存在。
ちょっとJavaをいじったりした人(というかプログラミングした人)なら誰でも知ってるようなメジャーな子ですが、
どうも納得できないケースがよく発生する箇所でもあります。

というわけで、今回はこの子についてつらつらとつまらない独り言を書いていきます。 続きを読む

遺伝的アルゴリズムのJavaライブラリをJavaScriptにゆるく移植してみた

jsgaptit

タイトルの通りです。
遺伝的アルゴリズムで気軽に遊んでみたかったのでJavaScript版のライブラリが欲しかったんですけど、
(熱心に探さなかったからか)特に見つからなかったんでJavaのライブラリ「JGAP」をゆるく移植しました。
とりあえず、JGAPと同じ「GNUライセンス」で公開をしてます。

JsGap(JGAPのJavaScript版)
続きを読む

JavaでXmlを操作する(Dom4j)

java_tit_03

今回はアプリ開発関連というよりは純粋にJavaのお話です。
なんだか仕事で「JavaでXMLの操作」をしないといけなさそうだったので、休日を利用していろいろと調べました。

ライブラリはいろいろとあるみたいだけど、「dom4j」を使うのが簡単みたい。
ということで、以下は調べたことのメモとなります。
続きを読む

ぼく的OutOfMemoryError対策

OutOfMemoryError今作ってるアプリのアイテムもやっと150個全部入力し終わり(なぜか作ってる途中で10個ほど増えた)、他の部分の調整もしてデバッグしてると、また噂のOutOfMemoryErrorがでるようになった。

それで今まであれこれ調節してやっと1時間近くプレイしても発生しなくできたし、これを機に自分の為にもやったOutOfMemoryError対策をまとめとこっかなって思います。

(ただあくまでぼくのやり方で、これでいいのかどうかはよくわかりません・・・) 続きを読む