6.クラスの抽出について

こんにちは管理人(@vip___p)です。

今回はリファクタリング/クラスの抽出について触れていこうと思います。

classを作成して処理を記述していると
ついつい長くなりそのクラスが「何を行うか
わからなくなってしまう事は最初は特に多いと思います。
(コメントまみれのコード等)

そのようなときに行うのがクラスの抽出です。

下記のような方は是非参考にしてください。

  • Java初学者
  • リファクタリングについて興味がある方

リファクタリングについては下記の記事で簡単にまとめているので是非参考にしてください。

書籍:[Java言語で学ぶリファクタリング入門]

クラスの抽出

クラスの抽出についてですが

そもそも「1クラスは1つの責任」が原則です。

1クラスに複数の処理があると何のクラスかわからなくなり修正するときなど苦労します。

いざクラスを作成してみると何のクラスかわからないことは私は多々あります。

ですから別クラスを作成して責任を肩代わりしてもらうことで

コードが見やすくなり修正などもしやすくなります。

formクラスで考えてみます。

まずはとりあえずFormクラスを作成してみます。

public class Form {
 private String "name";
 private String "age";
 private String "sex";
 private String "status";
 private String "span";
 private String "contract";
}

これだとただ値を格納するformクラスです。
上が人の内容で下が契約内容の詳細だとしたら
Formを2つにわけることができますね。

public class Person {
 private String "name";
 private String "age";
 private String "sex";
 // getter/setter
}
public class Plan {
 private String "status";
 private String "span";
 private String "contract";
 // getter/setter
}

このようにすることで

何を格納するFormか責任が明確になりました。

またFormを継承することも可能なので

毎度同じ記述を書く必要もなくなり型なども統一できます。

まとめ

まとめ

今回のまとめです。

クラスの抽出を簡単にですが確認しました。

皆さんの参考になれば幸いです。