DDD

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

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

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

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

DDDの読書記録(第4章、ドメインを隔離する)

DDDのモデル駆動設計では、在庫管理、注文管理といったドメインから生じる問題を解決するのに特化した部分に焦点を当てます。そして、ドメインの問題を他の問題から明確に切り離すことを設計上の至上命令としています。 これは夜空に星座を見つけ出そうとす…

DDDの読書記録(第3章、モデルと実装を結びつける)

DDDの第3章では、モデルと実装との結びつきについて書かれていますが、この章はこの本の中でも私のもっともお気に入りの内容が書かれている章の一つです。従来、モデルやモデル駆動というと、コーディングとは対極にあるもの、アジャイルの思想と相容れない…

DDDの読書記録(第2章、コミュニケーションと言語の使い方)

アジャイルプロセスのXPでもコミュニケーションに重点が置かれますが、その考え方に影響を受けているDDDでも業務担当者とプログラマーとの間のコミュニケーションを重視しているようです。しかし、これは「報連相」「根回し」「場の空気を読む」といった、い…

DDDの読書記録(第1章、知識のかみ砕き)

引き続き、DDDの読書記録です。あまり詳しく書きすぎるとネタバレになって本が売れなくなってしまうといけないので、読んでいて特に気になったポイントにしぼって書いていこうと思います。 第1章とびら(PCBエンジニアとの会話、P7) 第1章の最初の部分でプ…

DDDの読書記録(第1部序章、ドメインモデルを機能させる)

先日開催されたQCon Tokyoにて、翔泳社さんのブースでエリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)をTシャツ付きで購入しました。そして、Twitterにて翔泳社の岩切さんと window.twttr = (function(d, s, id) { …

DevLoveのBeautiful Development(DDD勉強会)に参加してきました

昨日、DevLoveの主催するBeautiful Development(ソフトウェアの核心にある複雑さに立ち向かう)という勉強会に参加してきました。 https://sites.google.com/a/devlove.org/development/past-beneficiaries/devlove_ddd2 今回は、Domain-Driven Design(DDD…

自分は恵まれた環境で仕事をさせてもらっていることに感謝しなくてはいけないと思う

私の会社は一般的なSIerと比べてどちらかというと技術力を売りにしている会社だと思いますが、その中でも、現在はアーキテクトチームと呼ばれる部署で働いています。そういうこともあって、自分の周りには40歳過ぎてもプログラミングしているような人もたく…

エンタープライズ開発者が負け組として軽蔑される日本のSI業界って

本ブログの記事に対して多くの皆さんからいただいた意見を総合すると、技術力のあるトッププログラマーにとって現状の日本のSI業界での仕事というのは、働き甲斐のない、魅力の少ない仕事として認識されているという残念な事実を思い知らされます。 オブジェ…

今のSI業界もリファクタリング可能だと思います

SIという用語を聞いてイメージするもの 業界の現状を考えると理解できることではありますが、SI業界やSIerという言葉に対して、極端に悪いイメージを抱く人が多いようです。SEやPGなどの用語もそうですが、立場によって用語からイメージするものが大きく違っ…

Javaプラットフォームにおけるコード自動生成の考え方の変遷

普段は上位のフレームワークや製品の中に隠蔽されているため、一般の業務アプリケーションのプログラマーには気づきにくいことですが、同じJava言語の環境といっても、時代によってコード自動生成に対する考え方は変わってきています。建材が木、石、鉄筋コ…

SIerがExcel→Javaのコード自動生成をPGに押し付けるのは善か悪か?

以前Java EEや.NETはCOBOLやVB6よりも本当に生産性が高いか? - 達人プログラマーを目指してにて 何でもかんでもとにかく自動生成させたがる。特にExcelなどの表から大量のクラスを自動生成させるなど。たいていそのようにして生成されたクラスはゴミで保守…

アーキテクトもプログラミングするべきか?

プログラミングと設計は本来切り離せないものなのでは - 達人プログラマーを目指して で以下のようなコメントをいただきました。 アプリケーションのアーキテクトという役割についてちょっと理解が曖昧だったのがこのエントリ読んでだいぶスッキリした。今度…

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

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

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

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

Seam Application Frameworkを使ったデータアクセスについて

名前が紛らわしいのですが、Seamの中にCRUD処理を簡易化するためのフレームワークが存在しており、Seam Application Frameworkと呼ばれています。seam-genやJBoss Toolsで自動生成したときに使われるXXListやXXHomeといったクラスが継承しているフレームワー…