OO
最近忙しかったので、コメント論議をフォローできてなかった。 いまさらだけど、ひとことだけコメントしておくが、萩本さんはHORB Openでも最も貢献したうちの一人だ。HORB のソースを読んでみれば、萩本さんが Java やオブジェクト指向を理解していないなん…
昨日の見える化イベントでは、講師のみなさんたちはユースケース図は使えないと口をそろえて言っていた。 個人的には、とても仕えるツールだと思っているんだけど。。。 ユースケース図のいいところは、誰が見ても分かる程度の図だって点にある。顧客との打…
明日から某営業担当者が顧客のところに行って、システムの概要を説明してくる。今日はそのための資料(仕様書)を作成した。 仕様書の中には、さりげなく UML を書いてある。要求事項の部分にはユースケース図を、システム構成の部分では配置図を使用している…
JUDE/Community のバージョンアップをしようと思ってアクセスしたら、画面は英語! 日本語を選択してログインしようとしたら、パスワードを忘れていたので再発行した。で、パスワード変更しようとしたらエラー。orz パスワード変更をあきらめてダウンロード…
そういえば既に発売済みだった。発売されてから日記で紹介しようと思ってたら、そのまま忘れてしまってた。それがいつものパターンなんだけど。 UML モデリングのエッセンス 第3版 つーか、自分でも買わなきゃ。昨日、Amazon のギフト券が届いてたから、もの…
あー!この本はよさそう。UML2.0でアジャイルってかなり興味ある。Amazonからのメールで紹介されてた本。 Amazon のエディターレビューからちょこっと引用する。 15章構成で、主なテーマは、フルライフサイクルオブジェクト指向テスト(FLOOT)、アジャイル…
きしださんがオブジェクト指向を哲学してるぽい。今は読むヒマがないので後で読む。いや、違う。軽く目を通したけど考えてるヒマがない。後でもう一度じっくり読み直して考える(予定)。
某お手伝いさんから作っているアプリケーションの構造について質問があった。エクスプローラにも似ている部分なので、エクスプローラに置き換えて説明すると、ファイルやフォルダを示すアイコンに対応するクラスは MVC のどれなのか?と。 ファイルやフォル…
ちょうどユースケース図をかいているところなので、ユースケースをかくときの思考パターンを紹介する。 会社では出入管理システムというのをあちこちに納入している。要は、カードリーダや指紋などで認証すると錠が解錠されるとか自動ドアが開くとかして入室…
オブジェクト指向レス開発 via PM見習いの読書日記 まずコメントする前に、個人的には業務系システムの経験は皆無だということを断っておく。 内容的にはソフトウェア開発全般を考慮して書いているので、特に業務系だとかは意識してないが、的外れな点があっ…
昨日のが届いてないことに気付いた。もしかしてネットワークトラブルで消えちゃった?
近くにいる人が外注したソフトウェア、VB.NETを指定(エンドユーザからの指定)してたのに外注が VB6 で作ってきたらしい。 隣の部屋で作業している彼ら。コンパイルできなくて困っているようなことを言っていたので、「動くようになるまで1ヶ月はかかるよ、た…
継承を使ったクラスで、初心者にありがちな、DIP(Dependency Inversion Principle:依存関係逆転の原則)に反するコードを見つけたので紹介。 以下の継承関係を持ったクラスがあるとする。 public class Foo { } public class FooEx extends Foo { } このとき…
クラス図を修正した。 業務システムのモデル クラス図を更新する仮定で、会計のことが分からんと話にならんことが分かった。ぐぐってみて参考にしたサイト→経理の心得 ここにアクセスできたからといって、締め切りまで時間がなかったので実質10分くらいしか…
クラス図の修正と、新しい別のクラス図を追加した。 業務システムのモデル
今日は、配置図とクラス図(両方とも手抜き版)を追加した。 業務システムのモデル
今日は夕方の休憩時間に書いた配置図をアップした。 業務システムのモデル
オブジェクト倶楽部が開催しているモデリングコンテストに、のんびりと参加してみることにした。 昨日の夜、とりあえず簡単なユースケースだけ描いたのをアップした。ツッコミ大歓迎。 業務システムのモデル
気になったことがひとつ。単なるオーバーライドと Template Method パターンを混同している人がいるような気がした。Google で Template Method パターンのサンプルを検索してみたら、実際にそのように誤解して書かれているものをいくつか見つけたので、少な…
今朝、この本をぱらぱらと見ていたら、「第14章 Template Method パターンと Strategy パターン:継承と委譲」というページが目にとまった。この章の最初のページの一部を引用する。 1995年頃には、継承は乱用されやすく、この継承の乱用によって生じるしっ…
昨日の日記にいくつかのコメントがあったので補足。 そもそも Template Method パターンってのは必要ではない適用可能な場面がかなり限られている。Template Method パターンを使う場合、仕様と実装が分離できていない。仕様と実装が密結合してしまうために…
とある理由で、他人が書いたソースを読んでいる。Template Method パターンが使われている。読みにくい。最悪。スーパークラスの実装をきっちりと把握しておかないと、挙動を追いきれない。きっちりと把握するほどの空容量は、旧型の脳ミソには残されていな…
Collections クラスには、各インタフェースの変更不可能なビューを返すための static メソッドが用意されている。一度も使ったことないけど。 例えば List の場合を見てみる。 public static List unmodifiableList(List list) (略)直接か、その反復子を使う…
デザインパターン・メーリングリストで LSP(The Liskov Substitution Principle) が話題に出たのでこちらでも補足。 LSP(The Liskov Substitution Principle)とは、リスコフの置換原則のことで、ソフトウェア原則のうちのひとつ。LSP を一言で要約したものを…
去年の12月27日の日記に著者さんからコメントをいただいたので話を蒸し返す。 確かにもう少しロールを意識したクラス名にしたほうがよかったですね。 ただ、FrameState(とそのサブクラスたち)は計算以外にも次の状態への判定などもおこなっているので、計算…
12月分カレンダーに誤植を発見。 CCP The Commmon Closure Princeiple m 多すぎ。すぐ下の CRP は間違ってないのにね。気付いてしまうと、並んでるだけにやや違和感あり。
クラスの中に struct を書いているらしい。
某社に作らせたコード、すごいぞ。 モデルがビューに依存している モデルがコントローラに依存している 100行以上のメソッドがごろごろ 200文字以上の行がごろごろ(読みにくいてば) あ゛あ゛あ゛ー! 捨てたいけど作り直してる時間がない。。。
匿名クラスに対してたくさんの貴重なコメントをありがとうございます。 さて、もう一度整理。まず最初に、クロージャとはなにか。個人的にはクロージャ(をサポートしている言語)をあまり使ったことがないので、あまり突っ込んだ議論ができない。 まあ、とり…
以前は EventListener の小さな処理を書くのに匿名クラスを使うことが多かったが、最近ではほとんど使わなくなった。昔書いた匿名クラスを使っているコードを見て思うのだが、匿名クラスって何しているのかわかりにくい。 JButton deleteButton = new JButto…