Шаблон преобразования объекта

я верю тому, чтобы заставлять допустимую привычку выводов HTML повредить Ваше время разработки так очень, если Вы обучили себя кодировать допустимый HTML от запуска.

для одного, не, что трудно для знания, какие теги не позволяются в элементе
и необходимые атрибуты в теге, иногда те, Вам действительно было бы нужно так или иначе - я полагаю, что это основные ошибки, который делает Ваш HTML недопустимым, итак, почему не только уже изучают их теперь, если Вы планируете остаться в сети долгое время?
плюс вывод допустимого HTML может помочь повысить Ваши сайты, занимающие место

16
задан Alex 28 September 2017 в 09:59
поделиться

4 ответа

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

См. http://en.wikipedia.org/wiki/Factory_method_pattern

Вы правы, пытаясь сохранить всю эту бизнес-логику в одном месте вместо того, чтобы выполнять ClassOne.toClassTwo (), ClassOne.toClassThree (), ...

Самый гибкий способ, который я могу придумать для реализации этого ( но не самый простой на данный момент) - запустить фабрику с простого класса, содержащего только основные общие методы, и добавить обработчики в Hashtable или другой контейнер. Таким образом, вам не потребуется конкретная реализация всех возможных комбинаций функций.

8
ответ дан 30 November 2019 в 23:18
поделиться

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

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

1
ответ дан 30 November 2019 в 23:18
поделиться

Если вы всегда конвертируете в один и тот же класс, я бы упростил его и поместил весь ваш код преобразования в этот класс и не беспокоился о фабриках и т.п., особенно если вы имеете дело только с пара разных классов. Почему для этих вещей всегда должен быть сложный шаблон?!

public class A {

    ...

    public static A convertB(B b) {

    ...

    }
}
0
ответ дан 30 November 2019 в 23:18
поделиться

Требуются ли классы для вывода final ? Если нет, вы можете создать подклассы для создания соответствующих адаптеров . В противном случае я бы пошел с предложением dj_segfault о Factory с таблицей обработчиков.

Или, подождите - это просто веб-сервис, с которым вам нужно поговорить? Если так, то не должно быть причин, по которым ваши реализации его типов данных не могут быть адаптерами, обертывающими входные типы данных, или каким-то вашим собственным промежуточным объектом.

0
ответ дан 30 November 2019 в 23:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: