ВопросMiddleOZON23 просмотра

Существует три метода, которые меняют информацию о товаре (изменяют состояние, изменяют состав тегов и задает вес). Так как в дальнейшем планируется добавить еще 10-20 методов которые меняют информацию о товаре (сами методы могут быть реализованы как nuget в другом сервисе) нужно реализовать единственный метод DoSomethingWithItem который в зависимости от входных параметров мог бы вызывать любое изменение товара. То есть методу может быть сказано "Поменяй состояние" или "Задай вес" и так далее и его реализация уже сама вызовет один из методов StateChanger.Change или WeightSetter.Set и т.д. Классы StateChanger, TagsSetter и WeightSetter можно менять. Главное сохранить бизнесовую функциональность. namespace ItemsService { public sealed class StateChanger { public enum State { Active, InActive } public void Change(int itemId, State newState) { } } public sealed class TagsSetter { public void Set(int itemId, string[] tags) { } } public sealed class WeightSetter { public void Set(int itemId, int weight) { } } public sealed class ItemsService { //public void DoSomethingWithItem } }