Я использую следующий шаблон/стиль в своих приложениях/программах и хочу знать, является ли это общей моделью, которую я не знаю.Это общий шаблон дизайна?
Когда я должен написать приложение, подобное большой функции, которая получает входные данные из разных источников, обрабатывает и создает выход. Как и модель IPO (вход-процесс-вывод).
У меня есть один класс/тип, который представляет только мое состояние/данные, которые не имеют логики. Большую часть времени я называю его Контекст, ExecutionContext или RuntimeContext. У меня также есть несколько классов/типов, которые содержат только логические функции без учета состояния (в статических методах C# в статических классах). После моей начальной точки приложения я сначала создаю контекст и использую его в качестве аргументов для своих функций. Контекст содержит состояние жалобы/данные приложения, а все мои статические функции/методы манипулируют контекстом. В конце цепочки функций и выполнения вызова/выполнения, и контекст содержит конечное состояние, если мне нужны выходные данные.
Я пытаюсь создать картину, визуализировать этот подход
Преимущества этих картины
- я могу простой тест моей логика (небольшие кусочки статических функций) с unittest
- не так сложно использовать параллельный код (только для контекста нужен потоковый код)
- зависимости от других систем, в основном разделенных как абстракции (интерфейсы) в контексте (например, IDbContext). Это упрощает испытания большого пространства
И вот теперь мой вопрос. Это общий шаблон? Когда да, как это называется?
Спасибо за каждый намек! :)
С уважением
Возможно, вы захотите перейти к обмену программным обеспечением. – pvg
Можете ли вы поддержать свою диаграмму с образцом кода. В вашей диаграмме не отображаются интерфейсы/классы, как вы описываете в своем тексте. –
Вероятно, лучшие присадки будут абстрактной фабрикой или цепочкой ответственности из того, что я вижу. Много вещей, чтобы исследовать здесь все же. https://social.msdn.microsoft.com/Forums/en-US/af062e83-3e61-45d4-aeaa-d30b4366c6a2/the-23-gang-of-four-design-patterns-cheat-sheet?forum= architecturegeneral http://www.dotnettricks.com/learn/designpatterns/gang-of-four-gof-design-patterns-in-net – Netferret