213 / 202 / 85
Регистрация: 09.05.2012
Сообщений: 494
|
||||||
1 | ||||||
Каким путем пойти: дублирование, делегация или наследование?18.02.2014, 20:22. Показов 829. Ответов 1
Метки нет Все метки)
(
Здравствуйте.
Стоит задача реализации нескольких алгоритмов для шифрации и дешифрации. Стою я между выбором из той самой "святой троицы". Почему встал такой вопрос? А вот так уж случилось, что коды реализации алгоритмов шифрации и дешифрации различаются лишь одной-двумя строчками. Например: Кликните здесь для просмотра всего текста
Таким образом, получается, что для алгоритма дешифрации почти весь код дублируется. Думал я сделать абстрактный метод char getCharacter(char key, char source), для переопределения оного в сабкласах шифратора и дешифратора, но мне кажется, что это не самый хорший ваиант: фактически правильных реализаций этого метода может быть только две, а сабкласов-то можно наплодить тысячи! Дальше думал сделать внутренний клас который будет делегировать соотвествующий вызов из table. Выглядит уродливо. Да и попахивает той же проблемой, что и с сабкласами. Ну и третий (а точнее первый - с него все началось) - это дублирование. В общем интересно узнать, кто каким путем (и почему) пошел бы. Любые предложения по теме приветствутся. Зранее спасибо.
0
|
18.02.2014, 20:22 | |
Ответы с готовыми решениями:
1
Каким путем пойти при создании матрицы? Есть gtx 660, каким путем пойти? Каким образом эффективно выучить C# и пойти работать в эту сферу Дублирование базы , или дублирование информациии |
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
19.02.2014, 12:14 | 2 |
Я бы сделал enum с двумя элементами - encrypt и decrypt. Определил бы у них метод char getCharacter(char key, char source). И передавал бы в метод (де-)шифрования нужный элемент enum. А метод бы вообще оставил один, нечего код дублировать.
0
|
19.02.2014, 12:14 | |
19.02.2014, 12:14 | |
Помогаю со студенческими работами здесь
2
Убрать дублирование кода через наследование Каким путем идти дальше... Каким способом можно изменить дублирование id товара, если их несколько одинаковых добавилось, а удалить надо 1 Куда пойти ПИ или КЗОИ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |