Contenu connexe
Similaire à [Jjug]java small object programming
Similaire à [Jjug]java small object programming (20)
Plus de Yuichi Hasegawa (11)
[Jjug]java small object programming
- 2. 2
自己紹介
• 長谷川 裕一
• Starlight&Storm 代表
– 1986年、イリノイ州警察指紋システムのアセンブリ言語プログラマか
らスタートして、PL/PMと経験し、アーキテクト、コンサルタントへ
– 現在はオブジェクト指向を中心に、コンサルティング(IT戦略、技術、
プロセスetc)や教育で活動
• 書籍
– プログラムの育てかた(ソフトバンク)、Spring入門、Spring2.0入門、
間違いだらけのソフトウェア・アーキテクチャ、Spring3入門(以上は
技術評論社)
• その他
– 日本Springユーザ会会長、SQuBOK策定メンバ(アーキテクチャ構
築/評価担当)、株式会社フルネス取締役、チェンジビジョン・コンサ
ルティング・パートナー
- 5. S-OP
• Java Small-Object Programming
– 小さい(Small) 部品(Object)で、アプリケーショ
ンを作ろう
• 背景
– テストや変更の容易性、可読性の悪いアプリケー
ションの多さ
– フレームワーク(UIやORM、DIxAOP)の定番化
– Javaの冗長さと、様々なオブジェクト指向言語の
流行(!?)
– DDD(ドメイン駆動設計)や、9つのルールなどの
出現
5
- 6. S-OPの実現
• オブジェクトを小さく作る
– DDDや9つのルールなどを利用する
• Frameworkなどを有効活用する
– DIxAOP
• Spring Framework
– ORM
• MyBatis、Hibernate、JPA...etc
– その他
• Lombok
6
アプリケーション
(フレームワーク )
アプリケーション
(ビジネスロジック...)
DDD
9つのルール
Framework
アプリケーションを大きく2分割した図
- 22. フィールドクラスを利用するメリット
• 利用方法と仕様がひとめで分かる
– 商品コードクラスが、利用方法と仕様を表している
• 検索が楽
– 商品コードは常に商品コードの型
– 例:ShohinCode sc;
• 修正は常に1カ所
– 商品コードの検証処理は商品コードがもつので、処理が分散しない
• 仕様書がない場合も保守が楽
– 商品コードの仕様は、商品コードクラスがもっている
• システムを再構築する場合も、フィールドクラスは再利用可能
(なものが多い)
• [デメリット]全てのプリミティブ・文字型をクラスにすると、インスタンスが増
えてメモりを圧迫したり、getValueメソッドて可読性が落ちる可能性もある
ため注意すること
22
- 39. 自動生成と開発(例)
39
入力
自動生成
Test
Code
Java
Doc
Eclipse
プレゼンとDBアクセス
を自動生成
jarとして提供
・補完
・テスト
・アーカイブ化
・提供...etc
×
ソースコードは直接
修正できない
ユーザ
Class:
Name ...
Code ...
Employee ...
Relation:
Employee ...
ドキュメント
(UML)