现在做的几个项目都在按照面向对象的方法来做,现在的设计是这样的:基类目前只有一个A子类很多B、C、D、E...,都继承于基类A,子类的公用方法都写在基类A中。随着子类的增多,基类A中的公用方法越来越多,显得比较乱,感觉这样的设计似乎有点问题,想请教OOP高手,如何设计才能做到基类、子类中的方法归类合理且清晰。基类A中的方法能否有办法进行归类,或设计成多个基类(不知如何设计才好)。谢谢!

解决方案 »

  1.   

    还有可以把类似的一组方法拆分出来,由另一个类来处理。例如:public FileManager GetFileManager()//把与文件相关的方法放到另一个类里面去处理。
      

  2.   

    还有可以把类似的一组方法拆分出来,由另一个类来处理。例如:public FileManager GetFileManager()//把与文件相关的方法放到另一个类里面去处理。----------------------------------------------------------------------------
    这拆分出来的另一个类中的方法在基类A和子类B、C、D...中如何调用?我用的基类A倒是可以按数字处理、字符处理、日期处理、打印处理等功能划分开
      

  3.   

    比如说打印处理:public class PrinterManager
    {
      internal PrinterManager( BaseManager manager )
      {  }  //...打印处理的方法
    }public class BaseManager
    {
      private PrinterManager _printer
      public PrinterManager Printer
      {
        get
        {
          if ( _printer == null )
            _printer = new PrinterManager( this );
          return _printer;
        }
      }
    }调用:
    Printer.Print( document );