zakkiのブログ

IT関連などの雑記のブログです

Serviceクラスを上手に扱う方法



まず、Serviceクラスについて


Serviceクラスが何なのかわからない人は、こちら参照。

zakkinoblog.hatenablog.com


WEBアプリケーションというものは


Serviceクラスで構築すればいいだけ。

基本的に、アプリケーションの構造全体は、Serviceクラスに配置すればいい。


具体的には、


Servicesフォルダを作り、Servicesが名前空間の汎用的なクラスを作ればいい。

これを、Servicesフォルダ直下に置いてもいいけど、そうすると、ルートフォルダに沢山ファイルができるという、いつもの悲劇が待っている。


そこで、これに対して、一つコツがある


それは、最初に、カテゴリーとなるフォルダを作るということ。

これをすると、後が楽になることが多い。

なぜなら、アプリケーションというものは、思っていたより巨大化することが往々にしてあるから。


こんな感じ。

Services/
    Category1/
    Category2/
    Category3/

当然ながら、「Category1」の部分は、アプリケーションに応じて任意に変える必要がある。


カテゴリーは1階層が丁度いいと思う


カテゴリーが、複雑な階層になると、意外と管理がしにくくなる。

だから1階層が丁度いいと思う。


こんな感じにすると、複雑になりすぎて意外と扱いにくくなる。

Services/
    Category1/
        Category1_1/
        Category1_2/
    Category2/
    Category3/


複雑な構造の場合は、このようにするほうがおすすめ


カテゴリーを階層化しないで、機能を階層的に管理するようにする。


具体的には、こんな感じ。

Services/
    Category1/
        Class1
        Class1/
            Class1Sub1
            Class1Sub1/
                Class1Sub1_1
                Class1Sub1_2
            Class1Sub2
            Class1Sub3
    Category2/
    Category3/

このように管理することで、それなりに複雑な機能も、だいぶ楽に管理できるようになる。

当然ながら、Class1は機能に合わせた名前にする必要があるし、Class1Sub1も言語ごとに丁度いい名前にすればいい。


すでに手遅れの場合


すでに運用を開始してしまい、Services直下にクラスを配置してしまった場合。

Services/
    Class1
    Class2
    Class3

こんな状態の場合。


この場合も、諦めないで、新しいクラスは、カテゴリーで分けたほうが、だいぶましになる。

Services/
    Class1
    Class2
    Class3
    Category1/
        ClassA
        ClassB
        ClassC
    Category2/
        ClassX
        ClassY
        ClassZ

こんな感じにしたほうがいい。


最後に、


ファイルが、取っ散らかって、うんざりしている人は、このやり方をすれば、だいぶ管理が楽になると思う。

そうなると、メンテナンス効率がよくなるため、金銭的にも特になるということでもある。










画像提供元: PAKUTASO/ぱくたそ