Соглашение по конфигурации и создание собственного соглашения пользователя - PullRequest
1 голос
/ 15 мая 2011

Я делаю кодирование, основанное на соглашениях, где, если вам нужен модуль, вы просто должны получить из интерфейса IModule. И я найду все модули, отсканировав их во время выполнения, и сформирую из них URL.

В этом случае я должен зарегистрировать свой URL с именем класса (что-то вроде Asp.net MVC), удалив Соглашение, например, если у вас есть CustomerModule, я удалю Модуль и зарегистрирую ваш URL как "/ Покупатель". Но я хочу дать пользователю возможность изменить эту конвенцию.

if (instance.Name.EndsWith("Module")) -- this is filter
{
  int instanceCount = instance.Name.IndexOf("Module"); -- action
  routeCollection.Add(new RouteDefination(instance.Name.Remove(instanceCount)));
}

Пользователь может дать любой фильтр, и мне нужно выполнить соответствующее действие. Как я могу это сделать. Я могу использовать выражение или, если у вас есть какой-либо шаблон дизайна. это будет очень полезно

1 Ответ

1 голос
/ 15 мая 2011

Предоставьте метод / свойство в интерфейсе, который предоставляет имя только для чтения.

public interface IModule
{
    /* other methods */
    string Alias { get; }
}

Или следуйте подходу Java с сервлетами и разрешите пользователю указывать XML-файл, который вы анализируете, и разрешаете переопределения таким образом (например,<module name="CustomerModule" alias="Picky" />).Или оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...