Какой шаблон разработки Вы рассмотрели бы, когда Вход необходим?

Кто-либо еще получает противоположное при тестировании этого?

Math.DivRem = 11.029 sec, 11.780 sec
MyDivRem = 27.330 sec, 27.562 sec
DivRem = 29.689 sec, 30.338 sec

FWIW, я выполняю Intel Core 2 Duo.

числа выше были с отладочная сборка...

Со сборкой конечных версий:

Math.DivRem = 10.314
DivRem = 10.324
MyDivRem = 5.380

Похож на команду IL "rem", менее эффективно, чем "mul, sub" комбинация в MyDivRem.

12
задан Henry 21 August 2009 в 22:19
поделиться

4 ответа

Вы можете использовать AOP , чтобы вести журнал без какого-либо вмешательства. АОП может казаться смесью прокси и декоратора.

10
ответ дан 2 December 2019 в 07:22
поделиться

Дон ' t объединить команду и запись журнала Memento .

Команда - это то, что выполняется. Что может включать некоторые общие аспекты для всех команд, включая запись записи в журнале.

Сама запись в журнале может быть Memento или кратким описанием Memento .

logger - это разновидность Factory , которая создает Mementos для зарегистрированных событий.

Как и в большинстве случаев, у вас есть большое количество взаимосвязанных шаблонов проектирования. Какой «один» шаблон является «наиболее популярным / подходящим», в него не входит.

Вопрос в том, «

4
ответ дан 2 December 2019 в 07:22
поделиться

I agree, I think the command pattern would fit the most since you would have all the action listed.

But I don't think that you really need to follow a design specific pattern for this one.You can simply set a callback on the actions to update the log. It depends on your architecture and technologies but out of my head the command pattern sounds like overkill.

2
ответ дан 2 December 2019 в 07:22
поделиться

Шаблон команды звучит нормально. Это, в частности, позволяет вам передать регистратор команде и позволить команде выполнять операцию регистрации на регистраторе. Таким образом, каждое действие может заботиться о форматировании самого журнала, и если некоторые действия не должны регистрироваться или требуется специальная информация, вам не нужно об этом знать всей архитектуре. Обратной стороной является привязка действий к регистратору, если вы хотите предотвратить это, вы можете дать каждому действию метод, который возвращает строку журнала, которую следует добавить.

Если у вас будет много разных действий, я не думаю, что это излишество, если это только действия с базой данных, и вы можете заставить структуру базы данных выполнять действия при каждом действии базы данных, это может быть изобретением колеса, чтобы иметь одно механизм ведения журнала, но, как указывает marcgg, это зависит от вашей архитектуры.

1
ответ дан 2 December 2019 в 07:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: