小编yi.*_*yi.的帖子

如何初始化一个类?

问题很简单,我有一个类"Stock",我想从db加载它的属性"StockName","StockCode".

我应该使用哪种模式?

模式1)使用服务类来创建它


 public interface IStockService{
             Stock GetStock(string stockCode);
             void SaveStock(Stock stock);
         }
         public class StockService : IStockService{
         }

         IStockService stockService = new StockService();
         Stock stock = stockService.GetStock();
Run Code Online (Sandbox Code Playgroud)

模式2)在库存中使用静态方法


        public class Stock{
            public static Stock GetStock(){
                Stock stock = new Stock;
                //load stock from db and do mapping.
                return stock;
            }
            public void Save(){
            }
        } 
Run Code Online (Sandbox Code Playgroud)

模式3)使用构造函数加载

        public class Stock{
            public Stock(){
                //load stock from db and do mapping.
                this.stockName = ...
                this.stockCode = ...
            }
        }

Run Code Online (Sandbox Code Playgroud)

对于模式1:它似乎使用如此多的代码来创建一个股票对象,而"SaveStock"方法似乎有点不是面向对象的.
对于模式2:"保存"方法似乎没问题,但GetStock方法是一个静态方法,它似乎是一个总是使用静态方法的Utility类.
对于模式3:构造函数将在初始化时从db加载数据.它似乎也很困惑.

c# initialization class

6
推荐指数
2
解决办法
2247
查看次数

标签 统计

c# ×1

class ×1

initialization ×1