类的设计:
需求:开发一个新闻系统,新闻表名是News,通过TypeID 区分不同的新闻类型。新闻分为2 类:每周新闻(WeekNews),行业动态(TradeNews)。在页面分两栏目显示
目前我的类设计如下,请问是否有更好的方法。我先写了一个新闻基类。
Class News
{
Public DataSet GetNewsList(int intTypeID )

String strSql = “Select * from News Where TypeID = ” + intTypeID;

}
比如我现在有两种类型的新闻:每周新闻(WeekNews ),行业动态(TradeNews)。我通过继承来实现新闻访问。
Class WeekNews : News
{
Public DataSet GetNewsList()
{
IntTypeID = 0
Return base.GetNewsList(intTypeID);
}
}
Class TradeNews:News
{
Public DataSet GetNewsList()
{
IntTypeID = 1
Return base.GetNewsList(intTypeID);
}
}
不知道这样设计是否合理?是否有更合理的方法,要是能用上什么设计模式就更好了。

解决方案 »

  1.   

    如果 每周新闻(WeekNews)是 0
    那如果以后 每周新闻(WeekNews ) 要改成 2 了。那你写死在类里,以后要改岂不是要重新编译。
    这样会不会很麻烦啊。你不如直接传一个参数(0,1)到一个类中的方法,来获取。
      

  2.   

    不知道有没有更好的类设计呢。如果直接传。那我就没必要分 WeekNews类和TradeNews类。底层一个GetNews就可以了。不知道其他人是如何设计新闻系统类的。
      

  3.   

    Class News
    {
         string newsType = "";
         public string NewsType
         {
            set {this.newsType=value;}
            get{return this.newsType;}
          }
           public DataSet GetNewsList()
         {
    String strSql = “Select * from News Where TypeID = ” + this.newsType;
         }
    }--------
    News news1=new News();
    news1.NewsType = "每周新闻";
    news1.GetNewsList();News news1=new News();
    news1.NewsType = "行业动态";
    news1.GetNewsList();