Какие задачи мы решаем
- COM / ActiveX / OCX пока невозможно удалить;
- 32-битный компонент мешает переходу на 64 бита;
- неясно, как правильно связать активы C++ и .NET;
- нужна поэтапная миграция без разрушения текущих спецификаций.
Основные принципы
При использовании существующих активов часто разумно не предполагать полную замену с самого начала.
Сначала мы выясняем:
- является ли актив только элементом интерфейса или содержит бизнес-правила;
- можно ли оставить его в текущем процессе;
- где именно следует пересечь границу 32/64 бит;
- лучше ли использовать обёртку или отдельный процесс.
Особенно подходящие темы
- системы с COM / ActiveX / OCX;
- границы между C++ и C#;
- обёртки C++/CLI;
- архитектуры, пересекающие 32/64-битную границу;
- планы поэтапной замены.
Подходящие ситуации
- актив содержит правила бизнеса или оборудования и не может быть просто заменён;
- сначала нужно продлить срок его службы и упорядочить границы;
- замена в будущем желательна, но сейчас требуется безопасный переход.
Целевое состояние
Цель состоит не в том, чтобы удалить всё старое, а в том, чтобы сохранить полезные активы и упростить сложные границы.
В результате мы стремимся получить:
- удобную для сопровождения архитектуру;
- понятный порядок будущей замены;
- снижение будущих затрат на миграцию.