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

P>Здравствуйте, nk19, Вы писали:


N>>class image_proc: public image[/ccode]

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

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


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


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


P>
P>public interface IImageProcessor {

P>  SomeResult processImage(Image image); 
P>}
P>


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


P>
P>public class FirstVariant  implements IImageProcessor {

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

P>public class SecondVariant  implements IImageProcessor {

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

P>etc..
P>


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


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

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

P>.... SomeClass  ... {

P> ... someMethod() {
P>    List<IImageProcessor> list = SomeFactory.getAllProcessors();
P>    list.get(0).processImage(image);
P>  }
P>}

P>

с интерфейсами к сожалению не работал, не понял особенно 3 пункт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.