Паттерн: Стратегия (Strategy)
Фрагмент: разбиение текста на строки, типовое решение [java]
  1. package strategy;
  2.  
  3. public class Composition {
  4.  
  5. public void Repair() {
  6. switch (_breakingStrategy) {
  7. case SIMPLE_STRATEGY:
  8. ComposeWithSimpleCompositor () ;
  9. break;
  10. case TEX_STRATEGY:
  11. ComposeWithTeXCompositor() ;
  12. break;
  13. // ...
  14. }
  15. /* если необходимо, объединить результаты с имеющейся
  16. * композицией
  17. */
  18. }
  19.  
  20. }
  21.