|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftиспользование WPF накладывает требования на все этапы Нет, не накладывает. Откуда вдруг такое мнение? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:07 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
А MS "декларировал" вот что: Microsoft Application Architecture Guide, 2nd Edition . Почитайте на досуге. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:09 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Это бы было идеально. ))) К сожалению, такого идеального решения нет нигде, и на винформах тоже. Тот же девекспресс имеет кучу косяков, с которыми приходится мириться и учиться их обходить. Сколько копий пришлось поломать для сохранения группы сущностей одной транзакцией с разбором их на скуле процедурой внутри транзакции.... Но меня удивляет, что нет ответа по WPF. Предлагаю провести эксперимент: я задам этот же самый вопрос и в разделе Winforms. Вот интересно, и там все свои "ноухау" прячут под юбкой или все же не постесняются? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 00:12 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoft, для меня идеальное решение - это когда большая часть кода не зависит от того, что выбрано в качестве морды приложения. Понимаете, о чём я? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 01:07 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Извиняюсь, потянуло на философию. Как 10 лет назад не давали на sql.ru ответа на вопрос, так и сейчас. Ничего не поменялось ))) просто не все вопросы достойны ответа, вот и всё. мне лично некогда делать пример и выкладывать его в данный момент, конец года, время 3.45 я еще на работе. Всё на что хватает вреени это забежать на sql.ru читануть пару тем из любимых разделов и усё. Вы хотите, чтоб вам всё принесли на блюдичке, люди будут давать советы и ответы, когда на ответ у них будет уходить не больше 5-10 минут времени. Если ответ займёт 30 мин - 1 час ни кто не будет напрягаться. Я вот лично, сколько видел WPF приложений в своей жизни, столько и подходов видел. Где то более кононично, где то менее кононично шаблону MVVM. Хорошее знание и понимание WPF, это не знание шаблона MVVM. Чтоб хорошо понимтаь WPF, нужно просто начать читать его исходники, там всё написано, что и как работет и как нужно им пользоваться :) а шаблон можно вообще не применять, при этом сделать приложение красивое и удобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 01:49 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Roman Mejtesлюди будут давать советы и ответы, когда на ответ у них будет уходить не больше 5-10 минут времени. Если ответ займёт 30 мин - 1 час ни кто не будет напрягаться. Проблема в том, что каноничный труъ-пример может и в 5 часов времени не уместиться. Потому что тут будет трехзвенка, ORM, WCF, репозитории, DI, и проч., и это всё вместе взятое очень объемно и долго. А на 5-10 минут - это будет впф-хелловорлд, не говорящий вообще ни о чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 06:31 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANA, Вы про инверсию зависимостей? Здорово конечно, но по факту обычно так не получается. Взять хотя бы Winforms и WPF Да, DTO объекты и слой доступа к данным могут быть и там и там одинаковы. Но дальше пойдет разносол. WF - это все-таки MVC, MVP. А WPF - MVVM и на уровне вьюх и команд все уже будет по разному. Опять же разная идеология биндингов. Можно кончено притянуть за уши MVVM и на винформах, но это будет именно "притянуть за уши". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:21 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
skyANAА MS "декларировал" вот что: Microsoft Application Architecture Guide, 2nd Edition . Почитайте на досуге. Спасибо за ссылку, лучше наверное вот такую: Книжка на русском и английском: https://blogs.technet.microsoft.com/isv_team/2010/09/16/microsoft-patterns-practices/ Книжка на русском: http://download.microsoft.com/documents/rus/msdn/ры_приложений_полная_книга.pdf ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:26 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Может быть есть ссылка на готовый пример, который вы считаете хорошим примером? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:28 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Ну, всему свое. Если это база с 1-5 пользователями макс (например, торговая точка), то там нет смысла делать трехзвенку. Там достаточно скульного сервака и клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 08:32 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Вы про инверсию зависимостей?Нет. krudensoftЗдорово конечно, но по факту обычно так не получается. Взять хотя бы Winforms и WPF Да, DTO объекты и слой доступа к данным могут быть и там и там одинаковы. Но дальше пойдет разносол. WF - это все-таки MVC, MVP. А WPF - MVVM и на уровне вьюх и команд все уже будет по разному. Опять же разная идеология биндингов. Можно кончено притянуть за уши MVVM и на винформах, но это будет именно "притянуть за уши".Чего конкретно-то не получается? Где у Вас слой доменной модели потерялся? В представлении? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 12:52 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANAА MS "декларировал" вот что: Microsoft Application Architecture Guide, 2nd Edition . Почитайте на досуге. Спасибо за ссылку, лучше наверное вот такую: Книжка на русском и английском: https://blogs.technet.microsoft.com/isv_team/2010/09/16/microsoft-patterns-practices/ Книжка на русском: http://download.microsoft.com/documents/rus/msdn/ры_приложений_полная_книга.pdf Да не важно, главное чтобы Вы прочитали и поняли. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 12:53 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftСон Веры Павловны, Ну, всему свое. Если это база с 1-5 пользователями макс (например, торговая точка), то там нет смысла делать трехзвенку. Там достаточно скульного сервака и клиента. А нужна-ли этим 1-5 пользователям вообще база? :) А если и нужна, то прочтения MSDN-а для реализации хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 12:56 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftВ каждом подходе есть свои фишки. Мне бы понять плюсы и фишки впф, чтобы моя работа не вызывала у меня недоумения. Вам это по работе надо, или чисто для собственного любопытства? Если второе, то, наверное, не стоит - WPF скоро "всё", а если у вас и с формами всё хорошо идёт, то чего дёргаться? WPF надо было в 2008-2012 годах начинать изучать, а сейчас уже как бы забывать пора. Только MVVM и некоторые подходы от него взять. Щас всё на джаваскриптах и HTML5 делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 18:34 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftВедь использование WPF накладывает требования на все этапы. По крайней мере так декларировал MS - он ведь не разрабатывал WPF как просто "новый Winforms", так? На WPF можно писать практически полностью так же, как и на винформс. WPF накладывает требования только на клиентскую часть - на UI. С ним можно работать как с винформс (например, писать код в обработчиках событий), а можно как предлагается в паттерне MVVM. Можно вообще своё накрутить, если опыта и знаний хватает. Вообще, непонятно ваше непонимание. Если у вас большой опыт разработки и при этом хотя бы немного большие приложения разрабатывали, то вы должны иметь понятия о так называемых слоях. Прочитав об MVVM, вы бы быстро поняли, где тут какой слой, и что работа с БД в MVVM-WPF не входит. В MVVM часть, которая относится в WPF неподсредственно - это представление (View) и модель представления (View Model) - то, что раньше, в винформс, было принято писать в коде обработчиков событий в простых винформс приложениях. В сложных приложениях разработчики раньше делали свои реализации подобий моделей представлений, по сути, писали свой мини фреймворк. Просто в WPF Майкрософт предложил некий обобщённый подход для части UI. При этом для всех остальных частей приложения МС обобщённого подхода пока не предложил (не будем принимать в расчёт всякие Prism), поэтому вы должны сами придумать, как организовать работу с БД и прочее - WPF-MVVM про это ничего не говорят. Т. е. как раньше работали с формами, так и сейчас работайте - ведь вы же и раньше должны были реализовать слой работы с БД, слой сервисов, слой серверной логики и прочее, что вам было необходимо. Ещё раз - WPF-MVVM имеет отношение только к UI и всё, что в статьях написано про БД и прочее - лишь в качестве примера (как правило, упрощённого), который нужен, только чтобы приложение вообще запустилось и показало какие-то данные. Если же вы не знали и раньше, как создавать сложные системы со множеством слоёв, то проблема не в WPF, а в том, что вы вообще имеет мало опыта создания таких систем и не понимаете, где место WPF в них. Тут надо, как вам и посоветовали, побольше букварей почитать про проектирование приложений и сложных систем вообще. Создаётся ощущение, что вы работали с какими-то конструкторами, типа дельфовых компонентов или вообще Light Switch, где выбрал БД, выбрал шаблон, выбрал оформление покрасивше и оно само вам на грид всё положило и CRUD с фильтрами прикрутило. И, похоже, вы такой конструктор и для WPF ищете. Я лично такого конструктора для WPF не знаю, но тот же Light Switch, если ещё живой, стал специализироваться на генерации UI в виде HTML, а не XAML-представлений. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 18:51 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Roman MejteskrudensoftskyANA, Извиняюсь, потянуло на философию. Как 10 лет назад не давали на sql.ru ответа на вопрос, так и сейчас. Ничего не поменялось ))) просто не все вопросы достойны ответа, вот и всё. мне лично некогда делать пример и выкладывать его в данный момент, конец года, время 3.45 я еще на работе. Всё на что хватает вреени это забежать на sql.ru читануть пару тем из любимых разделов и усё. Вы хотите, чтоб вам всё принесли на блюдичке, люди будут давать советы и ответы, когда на ответ у них будет уходить не больше 5-10 минут времени. Если ответ займёт 30 мин - 1 час ни кто не будет напрягаться. Я вот лично, сколько видел WPF приложений в своей жизни, столько и подходов видел. Где то более кононично, где то менее кононично шаблону MVVM. Хорошее знание и понимание WPF, это не знание шаблона MVVM. Чтоб хорошо понимтаь WPF, нужно просто начать читать его исходники, там всё написано, что и как работет и как нужно им пользоваться :) а шаблон можно вообще не применять, при этом сделать приложение красивое и удобное. Согласен. ТСу надо поискать чего-то вроде "WPF CRUD MVVM example". Лично я сходу нашёл кучу простых примеров, типа такого (что там внутри - не смотрел, но думаю, что ТСу хватит на первое время). Естественно, вопрос сохранения сложных групп переплетённых сущностей, типа корня оггрегации (до сих пор не вдупляю до конца, что же это такое - видел как минимум два отличающихся мнения, и оба не помню), вам никто на блюде не даст, да ещё для вашего конкретного решения. Вы уж как-нибудь сами. Другое дело, что применение WPF тут практически ничего не меняет - как раньше с этими сущностями работали, так и сейчас работайте. Единственное, что работать надо с моделью (Model, в терминах MVVM), а не пытаться сохранить в БД View Model или что-то подобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 18:58 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловнытрехзвенка, ORM, WCF, репозитории, DI, и проч. h ttps://www.youtube.com/watch?v=ZKKukSxG4Hc&feature=youtu.be&t=7m3sДавайте восклицать, друг другом восхищаться, Высокопарных слов не надо опасаться, Гармония харизм, величие амбиций, Фрустральный атеизм, приоритет позиций, Монументальный вздор, скептичность ортодокса, Скептический апломб, гуманность парадокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 19:10 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
krudensoftskyANA, Вы про инверсию зависимостей? Здорово конечно, но по факту обычно так не получается. Взять хотя бы Winforms и WPF Да, DTO объекты и слой доступа к данным могут быть и там и там одинаковы. Но дальше пойдет разносол. WF - это все-таки MVC, MVP. А WPF - MVVM и на уровне вьюх и команд все уже будет по разному. Опять же разная идеология биндингов. Можно кончено притянуть за уши MVVM и на винформах, но это будет именно "притянуть за уши". ТС, оказывется, всё понимает, но делает вид, что затупил в мелочах. Граждане, у кого тролль отвязался? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2016, 19:15 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
>krudensoft, 27 дек 16, 15:00 [20053043] > ... самым правильным подходом WPF ... Самых чаще всего не бывает, - задачи разные. Опишу свой подход. 1. Каждая таблица базы данных имеет суррогатный ключ 2. Клиентское приложение работает с информацией базы данных через хранимые процедуры. 3. Взаимодействие клиента с приложением осуществляется посредством User Control (собственный вариант "а-ля" модальной формы) в главном окне. 4. User Control обычно состоит из 2-х гридов: - грида иконок стандартных операций (новый, клон, удалить, редактировать, сохранить, выбор, выход) и их реализации - грида TableControl со страницами выборки и формирования запроса - запрос обычно не четкий (like или диапазон) и поэтому ограниченная выборка показывается в DataGride. - обычно двойной щелчок на в столбце с информацией из справочника вызывает User Control справочника 5. Информация базы данных в клиентском приложении хранится в List<> или ObservableCollection<>. С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2017, 01:42 |
|
Пацанский тру-подход к написанию WPF приложения
|
|||
---|---|---|---|
#18+
ARKssГраждане, у кого тролль отвязался? хи-хи, тут целая стая))) с ними нужно разговаривать, ну и крепкий дрын в руке держать))) ВМоисеевОпишу свой подход. ... С уважением, Владимир 1-4 - один из множества вариантов 5 - а как иначе? ... С уважением, ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 04:20 |
|
|
start [/forum/topic.php?fid=21&gotonew=1&tid=1440578]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 271ms |
0 / 0 |