オブジェクト指向

Javaのクラスとオブジェクトについて再度解説を試みる

オブジェクト指向プログラミングの考え方については、今までこのブログでも何度か取り上げてきました。 [オブジェクト指向] - 達人プログラマーを目指して オブジェクト指向プログラミングはプログラミング技法のすべてではないとはいえ、Javaのようなオブジ…

普通の構造化プログラマーがオブジェクト指向の存在意義を理解するコツ

オブジェクト指向言語の存在意義を理解するのは難しい? id:amapetasさんによる、ちょっと興味深い記事がありました。 オブジェクト指向言語が流行した必然性について考える(1) - Programmer’s Log そして、その記事の中で説明されているのですが、やはり、C…

staticおじさんとオブジェクトおじさんはお互いに分かり合えるようになるかもしれません。

先日書いたstaticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指してのエントリに、なんと、みながわけんじ氏ご本人よりコメントを頂きました。もともとは一般のstaticおじさん達(英語ではst…

staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて

何が良いプログラムかという点はもちろん人やコンテキストによって異なりますが、少なくともプログラマーとしての私の信念としては、 機能拡張や変更が容易なプログラム 単体試験によって正しく動作することの検証が容易なプログラム どういった内容が記述さ…

汎用のフレームワークがあれば業務アプリ実装にオブジェクト指向は不要という考え方は適切でないと思う

前回のエントリいまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味についてのブクマのコメントで、 すごく今さら感がw 最近の開発はフレームワーク使うことが多いようだから知らなくても作れちゃうと思ってたけど違うのかなあ。 …

いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について

正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の…

Javaプログラミング能力認定試験の問題がかなり改善されていました

以前、本ブログでJavaプログラミング能力認定試験の1級のサンプルプログラムがあまりにも旧態依然とした設計でひどいという指摘をさせていただきました。 SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラ…

O/Rマッピングで緩和されるインピーダンスミスマッチには静的と動的の側面がある

一般的な業務アプリケーションではデータを永続化するために、RDBMS(関係データベース管理システム)を利用します。RDBMSでは大量のデータを効率的に検索したり、集約してレポートを作ったりすることが得意ですし、一般的に業務システムで求められるトラン…

ドラゴンボールで学ぶオブジェクト指向 改(第弐話)

ドラゴンボールでオブジェクト指向の学習という元ネタのアイデアがうけたのか、ドラゴンボールで学ぶオブジェクト指向 改 - 達人プログラマーを目指しての記事がかなり大きな反響がありました。前回の記事では、クラス図とデザインパターンを使った設計によ…

ドラゴンボールで学ぶオブジェクト指向 改

ドラゴンボールといえば、大変に人気の高い国民的、いや世界的な漫画、アニメですが、昨日匿名ダイアリーでドラゴンボールをネタにしたオブジェクト指向の解説がホッテントリに入っていました。 ドラゴンボールで学ぶオブジェクト指向 多くの人に親しみやす…

Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その3)

少し間が開いてしまいましたが、前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その2)に続いて、試験問題のリファクタリングについて説明します。 Template Methodデザインパターンを使った制御の反転 前回までのリファ…

Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その2)

前回のJavaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1)に引き続き、試験問題のリファクタリングについて考えます。 画面入出力処理の抽象化とカプセル化 前回はこの試験問題でもっともコーディングが面倒なファイル入出…

あの認定試験問題の品質をSI業界の代表的なプログラム品質と考えることの是非

SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている?に対して、既に何人かの方々から 単に駄目試験だってだけなのでは。 これ確かにヒドイけどこんな資格試験の内容ひとつで業界全体を語られても のようなご指摘をいただきま…

Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1)

昨日書いたSI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指してが予想以上に大きな反響があり驚いています。特に、あの有名なひがさんにもSI業界の現状と未来に関してコメントをしていただきま…

アバンダンウェアで懐かしい過去の時代にタイムスリップしてみる

皆さんはアバンダンウェア(Abandonware)という用語をご存知でしょうか? wikipedia:アバンダンウェアにあるように、 著作権者が既に販売をやめたりサポートしていないソフトウェア、あるいは様々な理由により、誰が著作権者であるか不明なソフトウェアを指す…

もしSIerがまともなエンジニアリングの会社だったとしたらどんな仕事が考えられるか?

以前にも何度か書いたように私自身一応SIerと呼ばれる会社で(肩書き上SEとして)働いているのですが、このブログでSIerのことについて書くと、おそらく技術力のある優秀なPGの方からだと思うのですが、 なぜみんなSI業界から飛び出さないんでしょうね 真っ…

上流の壁?

達人プログラマーを目指すための素質 - 達人プログラマーを目指してで、PGの社会的地位の低さについて言及したのですが、ステレオタイプな上流コンサルと思われる方から、以下のようなコメントをいただきました。 現在の貨幣経済において、情報システムサー…

Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか?

プログラミングと設計は本来切り離せないものなのではがすごい反響だったのですが、結局この記事で私が言いたかったことは、 Java EEなどの現代的な開発環境はCOBOLなどの古い言語を使った開発とは根本的に設計の手法が異なる 多くの現場では未だに古い設計…

多くの日本人がオブジェクト指向プログラミングを苦手とするのは英語アレルギーだからか?

やはり、多くの人からいろいろなコメントをいただくと、意外な発見がありおもしろいです。 プログラミングと設計は本来切り離せないものなのでは - 達人プログラマーを目指して のブクマのコメントに 何か、主語がないから理解が難しい読み物 というのがあり…

Spring MVCのススメ

先日、Struts1に代わるWebフレームワークの選択 - 達人プログラマーを目指してにて、現状アクションベースのMVCフレームワークとしてはSpring MVCが有望ということを書いたのですが、今までStrutsの影に隠れてあまり人気がないようですね。*1これから何が流…

JavaEE、.NETの開発をするプログラマーが理解しておくべき設計のパターン

エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented SELECTION)作者: マーチン・ファウラー,長瀬嘉秀,株式会社テクノロジックアート出版社/メーカー: 翔泳社発売日: 2005/04/21メディア: 大型本購入: 10人 クリック: 635回この商品…

業務システムでオブジェクト指向は必要か?

半年前に爆発的に盛り上がったネタで今更ですが、 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ について。多態性(ポリモーフィズム)やGoFのデザインパターンなどの常識を知らない筆者が、C#でpublic staticメソッ…

アナリシスパターン - 非常にとっつきにくいが読めば読むほどに良さがわかる名著

アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series)作者: マーチンファウラー,Martin Fowler,堀内一,友野晶夫,児玉公信,大脇文雄出版社/メーカー: ピアソンエデュケーション発売日: 2002/04メディア: 単行本購入: 7人 クリック:…

日本と欧米ではPOJOの意義に対して微妙な解釈の違いがあるような気がする

EJB2.1など、開発すべきクラスインターフェースに大きな制約のある侵略的なフレームワークに対してマーティン・ファウラーが広めた概念としてPOJO(Plain Old Java Object)という用語があることは、現在Java開発者であれば、周知のことかと思います。私は当…

プログラミングと設計は本来切り離せないものなのでは

最近はアーキテクトという役割で客先に常駐し、フレームワークの選定をしたり、事前に共通部品を設計したりする役割を担う仕事を引き受けることが結構あります。そこで運よくお客様のマネージャーがオブジェクト指向開発の経験が十分にある方だと、IDEなどの…

コボラーに一日でSeamを理解してもらう

以前、VB6しかやったことのない人に2週間でSeamをマスターさせる!?という記事を書いたのですが、本日担当していた講師の仕事が無事終わりました。 実態としてはもともとの想定をこえる講師としてかなり困難な仕事でした。受講生の人数は3人と少なかったのは…