C# PROGRAM

ASP.NET(C#) MVCモデル入門~同一処理を共通化する

重複する処理を共通化したプログラム

前回までで、MVCモデルによる登録、更新、削除処理の作成が完了しました。
ただし、前回までのプログラムでは、更新処理と削除処理で作成した DataFind()メソッドが全く同じものであり、この処理に問題があった場合は、両方とも修正しなければなりません
今回は、同じ処理を共通化すると共に、現在 Program.cs に処理ごとに登録しているサービスを拡張メソッドを使用して、ひとつのサービスとしてまとめます。

共通で使用するインターフェイスと実装クラスを作成する

まず、DataFind()メソッドを共通化するために、新規にインターフェイス(ICommonService)と実装クラス(CommonImpl)を作成します。
ここに、更新処理と削除処理で使用している DataFind()メソッドを移動させます。

更新処理と削除処理からDataFind()メソッドを削除する

共通処理用のインターフェイスと実装クラスを作成したら、更新処理と削除処理にある DataFind()メソッドを削除します。
以下のコードは、DataFind()メソッドを削除後の内容です。

これで同じ処理の共通化は完了です。

サービスを登録するクラスを作成する

次に拡張メソッドを使ったサービスのグループ化を行います。
現在、Program.cs に個別で登録しているサービスをまとめるためのクラスを新しく作成します。
配置場所はどこでも良いのですが、今回は Serivcesフォルダー配下に作成します。
このクラスに拡張メソッドを作成して、Program.cs に登録していたサービスを移動します。
今後、新しくサービスを追加する場合は、この拡張メソッドに追記していきます。
拡張メソッドの作成方法に関しては、こちらの記事を参照してください。

Program.csにグループ化したサービスを登録する

Program.cs から個別に登録していたサービスを削除して、新しく作成したサービスを追加します。

これで、今後サービスが追加されても、Program.cs にサービスを追加する必要はなくなります。

-C#, PROGRAM
-,