>>393-398
ん?もしかしてC#関連のクラスと勘違いしていないか?
例として出している名前、型名は構造を想像してもらうためのダミーだぞ

>>399
確かに、processors を List 型と書き示したのがまずかったな。型は Map と記した方が正しい

class Xxx {
 void Process(Element data) {
  processors.Find(data.Type).Process(data);
 }

 bool AddProcessor(IProcessor newProcessor) {
  return processors.Insert(
   newProcessor.TargetDataType, newProcessor);
 }

 Map<DataType, IProcessor> processors;
}