Re: Помогите с проектированием классов
От: pvnic  
Дата: 12.04.07 06:14
Оценка:
Здравствуйте, nk19, Вы писали:

N>class image_proc: public image[/ccode]

N>и все методы обработки к этом классе

зачем обработчику наследоваться то от image?

схематично так:

1. создай какой-нить интерфейс

public interface IImageProcessor {

  SomeResult processImage(Image image); 
}


2. Реализуй обработчики

public class FirstVariant  implements IImageProcessor {

   public SomeResult processImage(Image image) {
     // processing
   }
}

public class SecondVariant  implements IImageProcessor {

   public SomeResult processImage(Image image) {
     // processing
   }
}

etc..


3. Сделай какую-нить фабрику по получению обработчиков и вызывай как нужно

public class SomeFactory {
   
.....
  public static List<IImageProcessor> getAllProcessors() {

     List<IImageProcessor> res = new ArrayList<IImageProcessor>();
     res.add(new FirstVariant());
     res.add(new SeconddVariant());
     return res;
  }
}

.... SomeClass  ... {

 ... someMethod() {
    List<IImageProcessor> list = SomeFactory.getAllProcessors();
    list.get(0).processImage(image);
  }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.