Словари в структуре проекта - PullRequest
1 голос
/ 18 марта 2009

Я закрываю приложение, в котором я использую множество классов Dictionary для хранения делегатов Function и Action. Сейчас я немного рефакторинг своего проекта и очистки кода. Мой вопрос: где вы или вы бы поместили классы Dictionary в структуру вашего проекта? Сейчас они находятся в исходных файлах вызывающего класса, но мне было интересно, стоит ли мне создавать отдельный исходный файл для хранения всех моих словарей. Я надеюсь, что это достаточно информации. Пожалуйста, прости меня, если это не так. Спасибо.

Ответы [ 2 ]

1 голос
/ 18 марта 2009

Я бы организовал словари так же, как и остальной код; группируйте связанные функции вместе и отделяйте несвязанные функции.

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

Например, если у вас был словарь, в котором аббревиатуры штатов США сопоставлялись с расчетом налога с продаж, вы могли бы объединить все это в класс с помощью метода «вычислить налог с продаж», принимая код штата и промежуточный итог в качестве аргументов. Тот факт, что он использует словарь для поиска правильной схемы вычислений, становится скрытой деталью реализации.

1 голос
/ 18 марта 2009

Обычно класс Dictionary - это вещь для себя (библиотека), и ваши различные пользователи создают ее экземпляры.

При необходимости они могут специализировать / подкласс, но это должно быть редко.

Может быть, вопрос, который вы действительно должны себе задать, "почему у меня несколько классов словаря"?

...