<< 複雑さと戦う : データに注目したリファクタリング | main | 複雑さと戦う : ちいさなちいさなリファクタリング >>

複雑さと戦う : 基本データ型 vs 小さなオブジェクト

マーチンファウラーは「リファクタリング」の中で、

・基本データ型をそのまま操作する
・小さなオブジェクトにカプセル化する

の感覚の違いを書いている。 

たとえば、基本データ型で

Date start ;
Date end ;
getDuration( start, end )

と書くか、
「期間」をあらわすオブジェクトを作るか

Range range = new Range( start, end ) ;
range.getDuration();

という違い。

あるいは、String 型で

String telephoneNumber = "03-1234-5678" ;
String mailAddress = "name@domain.co.jp" ;

と書くか

それぞれをドメイン(問題領域)のオブジェクトとして

TelephoneNumber telephone = new TelephoneNumber( "03-1234-5678" );
MailAddress address = new MailAddresss( "name@domain.co.jp" ) ;

と書くかの違い。

・基本データ型の操作が分かりやすい
・小さなオブジェクトにカプセル化すると扱いやすい

あなたの感覚はどちら?

前者の感覚の人は、たぶん「リファクタリング」は読んでもぴんとこない。
後者の感覚の人は、すでに「リファクタリング」は実践済みかな?

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
   1234
567891011
12131415161718
19202122232425
2627282930  
<< April 2020 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM