最近有寫段程式碼,這段程式碼很多功能都會用到
但幾乎都是複製貼上,我想請問有沒有辦法把他抽出並共用呢?
TestModel model = new TestModel1();
model.Test1 = hdrsvc.FindTest1(SessionUserInfo().CID, model.StartDate, model.EndDate, model.STATUS,model.CheckBoxItem);
if (model.Test1.Any())
{
model.Test1.ForEach(x =>
{
//業務邏輯
});
}
TestModel2 model = new TestModel2();
model.Test2 = hdrsvc.FindTest2(SessionUserInfo().CID, model.StartDate, model.EndDate, model.STATUS,model.CheckBoxItem);
if (model.Test2.Any())
{
model.Test2.ForEach(x =>
{
//邏輯判斷
});
}
整體的框架大略是這樣
差別只在於model.Test1、model.Test2的型別及抓取的資料不同
但都需要跑foreach迴圈並作相同的邏輯判斷
所以不知道有沒有辦法將這程式碼抽出並共用呢?
我不知道 C# 適不適合用模板模式(Template Pattern)下去處理,但可以參考看看