LINUX.ORG.RU

Ответ на: комментарий от XMs

Мне надо сделать приложение на Qt. Использовать паттерн mvp и сделать там внедрение зависимости, а ещё миграцию базы данных сделать.

LoveSharp
() автор топика
Ответ на: комментарий от LoveSharp

Использовать паттерн mvp и сделать там внедрение зависимости, а ещё миграцию базы данных сделать

Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы…

Так уже шутили? )

DI - это лишь паттерн проектирования. Инжектировать можно через аргументы конструктора или через поля класса. В куте нет контейнера для di - либо пишешь сам, либо просто делаешь нужные конструкторы.

Грепай энторнет. Там чота есть. Например

aol ★★★★★
()
Последнее исправление: aol (всего исправлений: 1)
Ответ на: комментарий от aol

Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы…

А мне этот топик напомнил другой прикол — про «дописал на qt4 программы для GNOME». ТС явно начитался каких-то умных книжек про паттерны проектирования и собирается писать бэкэнд, но зачем-то вместо Java взял Qt.

annulen ★★★★★
()
Ответ на: комментарий от annulen

зачем-то вместо Java взял Qt

не, ну, di же не только в джаве бывает. Всё возможно, следим за нашим героем! :)

aol ★★★★★
()

Ты пытаешься сделать c# из c++. У тебя не выйдет. Конкретно все красивости вроде dependency injection и ORM’ы entity framework/NHibernate сделаны через рефлексию, которой в c++ нет. Qt’ешные потуги здесь не сильно спасают.

ox55ff ★★★★★
()
Ответ на: комментарий от aol

следим за нашим героем!

Вот интересно, за кого играет герой? За эльфов, солдат дворца, или злодеев?

rupert ★★★★★
()
Ответ на: комментарий от ox55ff

Ты пытаешься выглядеть умным. У тебя не выйдет. Конкретно все эти умные слова не сильно спасают твои потуги.

anonymous
()
Ответ на: комментарий от firkax

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

anonymous
()
Ответ на: комментарий от ox55ff

А какой тогда подход использовать??? Не развожу холивар и не наезжаю. Мне просто интересно.

Fruct
()
Ответ на: комментарий от ox55ff

Может литературу или советы подкинете по этой теме: как программировать в стиле с++ не делая из него С#???

Fruct
()

Почитал что такое «внедрение зависимостей». Вообще ни о чëм.

Придумали отдельное название для решения примера 2+2…

Примеры можно почти дословно с Java скопировать. Зачем что-то отдельное придумывать? А Qt тут вообще ни причëм.

unDEFER ★★★★★
()
Ответ на: комментарий от ox55ff

все красивости вроде dependency injection […] сделаны через рефлексию,

Где там рефлексия-то конкретно в DI? Я чего-то не нашëл.

unDEFER ★★★★★
()
Ответ на: комментарий от ox55ff

Вот ты молодец! Отличный пук в лужу!

anonymous
()
Ответ на: комментарий от unDEFER

Он просто пометанировать. DI не прибито гвоздями к языку или библиотеке с рефлексией. Его можно на коленке сделать за пять минут. Точно так же как Rx всего лишь визитор на стероидах, и его может сделать кто-угодно, не прибегая к попсовым библиотекам. Дело не в померещившихся ему «красивостях», а в том как из погромирования байтодрочеров любящих сношаться с конпелятором до морковкина заговенья и на вопрос о сроках отвечать «конпеляеца!» пытались сделать кубики для складывания слова щастье из высера «банды четырех» за приемлемое для бузинесса время. Получилось не очень, т.к. при знании рекурсивных структур и алгоритмов к ним эти их «паттерны» нужны не особо. Ну просто еще один метаязычок для структурирования программ наиболее попсовым способом, чтоб следующие полтора землекопа не отвечали на вопрос о сроках что все еще «разбираюцца в чужом коде».

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от unDEFER

Через рефлексию определяются типы аргументов конструктора. В c++ приходится приседать и указывать всё вручную, обмазываясь макросами и шаблонами.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

И что тогда внедрять вместо DI или без него писать MVP?

LoveSharp
() автор топика

Для решения этой, и других, проблем С++, на винде Microsoft придумала Component Object Model.

Mozilla ее скоммуниздила и назвала XPCOM

Есть и другие вариации.

lovesan ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.