Общая структура для кодирования и декодирования - PullRequest
1 голос
/ 21 февраля 2011

Я разрабатываю приложение, которое использует базу данных.

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

Для этой цели я создал один класс с различными полями, содержащими значение, и один метод для кодирования и один метод для декодирования..

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

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

Может ли кто-нибудь предложить мне лучший способ решения этой проблемы ???

1 Ответ

2 голосов
/ 21 февраля 2011

Да - используйте SRP с абстракцией.

Вы абстрагируете кодер и декодер в другой интерфейс. Затем используйте композицию в своем классе держателя данных для ссылки на Encoder / Decoder. Если вы используете DI , то кодер / декодер будет введен без держателя данных, обладающего знаниями о фактической реализации. Или иметь службу, которая будет использовать экземпляр держателя данных и применять кодер / декодер на основе присоединения (выполненного снова с использованием DI) к этой услуге.

Надеюсь, это поможет.

...