リファクタリング。AddressFileクラスに内部Databaseオブジェクトの委譲メソッドを作成。
リファクタリング。Mainクラスで getDatabase() メソッドを呼んでいた部分を、新しく作成された委譲メソッドを呼び出すように変更。
リファクタリング。AddressFileからgetDatabase()メソッドを削除。(他のどこにも使ってないことを確認済)。
リファクタリング。Databaseクラスに委譲メソッドkeys()を追加。
リファクタリング。AddressFileからgetDatabase().getProperties()を呼ばなくするため、委譲メソッドを呼ぶよう変更。
リファクタリング。Databaseクラス側から、getProperties()メソッドを削除。
リファクタリング。「CSVを表示する」という責務を持つ、メソッド委譲用のクラスを定義する。一つメソッドを予め抽象メソッドとして定義しておく。
リファクタリング。本格的に委譲用の抽象メソッドを追加。広域変数も追加。
リファクタリング。CSVStringTablePrinterの継承関係を、あらたに定義したCSVPrinterへと挿げ替え。抽象メソッドを形合わせのため実装。
リファクタリング。Readerのスーパークラスに処理を移動。
リファクタリング。Printer周りを整理。CSVStringTablePrinterをリネーム。PrinterはReaderをコンストラクタで期待するように。
Merge branch 'teaseapartinheritance'
カンペを更新。
過去のブランチのコンフリクトを手動マージ。
リファクタリング。コンフリクトソースにIDEでのフォーマッティング。