2013-11-11 4 views
1

Предположим, что у нас есть класс C, и наш процесс выглядит следующим образомФункции класса C++ возвращают значения VS, действующие на локальные данные?

  1. сделать func1
  2. сделать func2
  3. сделать FUNC3
  4. сделать func4

где каждая функция работает на данных от предыдущего этапа

Что лучше с точки зрения системы d ESIGN?

  1. сделать каждый FUNC принимает входной сигнал, возвращает его результаты и передать результат к следующему этапу
  2. сделать каждый Func работать на элементах данных в классе с и все они возвращают аннулируются

И если эти две стратегии являются известными дизайнерскими паттерами, каково название каждого шаблона дизайна?

+1

Вы забыли третий вариант: Есть '' func1' называют func2', который называет 'func3' и т.д. Конечно, это может быть смешано с альтернативам у вас есть, так что это действительно еще две альтернативы. –

+0

вы не должны создавать классы и использовать переменные данных, пока большинство функций не будет использовать эти члены данных. если ваше требование имитирует цепочку, то есть fun4 зависит от забавы 3, fun3 зависит от func 2 и т. д., то используйте следующую модель fun4 (возвращаемое значение из fun 3 (возвращаемое значение из fun2)) и т. д. –

+0

Ненавижу, когда я вижу вариант 2 используется случайно. Он иногда использует его, но тогда единственная цель класса C должна состоять в том, чтобы выполнить эту обработку. – john

ответ

1

Если вы используете вариант 2, и вы передадите код другому разработчику. Если он случайно вызывает func3(), func4() в середине кода, это будет логически неправильно.

Если вы используете опцию 1, разработчику необходимо подумать о параметрах, которые будут переданы. Менее вероятно, что он допустит ошибку.

Поэтому я пойду с опцией 1.