171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
|
|
1 | |
Подобрать инструментальные средства20.05.2015, 11:01. Показов 891. Ответов 7
Метки нет (Все метки)
Добрый день! В WPF и многих других моментах к сожалению не очень силен, поэтому прошу вашей помощи.
Пишу клиент-серверное ПО для небольшой авиакомпании. Пока что основное назначение программы это учет самолетов, полетов, компонентов к ним, технического обслуживания и т.д. База юзается Postgree, сейчас порядка 20 таблиц, дальше будет больше, из них 70% должны редактироваться пользователем. Взялся за этот проект причине желания научиться новому, т.к. с проектами подобного рода еще не работал. Сервер будет находиться на отдельной машине в локальной сети, количество одновременно работающих клиентов будет около 10. Клиенты будут на WPF. В будущем возможно программа выйдет за рамки локальной сети. Версия .NET Framework 4.5 В связи с этим несколько вопросов: 1) Какие полезные контролы, библиотеки можете посоветовать для интерфейса? В моей голове все еще свежи воспоминания полуторагодовалой давности когда я нудно пилил курсовую на WPF + DataGrid, в то время как некоторые однокурсники заюзали LightSwitch затратив меньшие усилия и получив более приятный глазу результат. Но LightSwitch платный, поэтому для моих целей он слабо подходит. 2) Как реализовать клиент-серверное взаимодействие? С сокетами хорошо знаком, и написать на них не проблема. Но еще слышал про существование некоего WCF, может стоит попробовать его? Вообще задача на мой взгляд более типична для 1С, о чем я честно сообщил заказчику, но он сказал что не хочет с ним связываться.
0
|
20.05.2015, 11:01 | |
Ответы с готовыми решениями:
7
Инструментальные средства для Excel Какие инструментальные средства нужны Web-программисту? учебники на тему "Инструментальные средства разработки программного обеспечения" MinGW - инструментальные функции |
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
|
|
20.05.2015, 13:38 [ТС] | 3 |
0
|
20.05.2015, 14:10 | 4 |
5665tm, используй паттерн MVVM и библиотеку Galasoft.MvvmLight (устанавливать через Nuget)
Примеры использования где-то я тут уже не раз скидывал. А так даже не знаю. Для отображения графиков я использовал OxyPlot. Некоторые дополнительные элементы управления брал отсюда: Extended WPF Toolkit™ Community Edition
2
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
20.05.2015, 15:23 | 5 |
WCF это очень круто, только это уже будет трехзвенная архитектура, надо ли оно?
нужна ли авторизация и роли юзеров, нужно ли шифрование при передаче, есть ли какая-то серверная логика? иначе получится что wcf бесцельно жрет ресурсы я такое видел уже - вроде WCF, а в по факту клиенты лезут в базу напрямую, ибо ошалеешь гонять такие тучи данных через прослойку если сеть локальная и закрытая от интернетов проще будет прямой доступ к базе дать
1
|
20.05.2015, 15:53 | 6 |
То есть каждый клиент напрямую будет лазить в базу минуя сервер?
Добавлено через 1 минуту А что делать, когда руководство захочет новых "фишек"? И тут понадобится как раз сервер. Месяц переписывать? Добавлено через 1 минуту Вот этот вопрос тут, думаю, самый главный. Если она есть, то и связь нужна с сервером. Я вообще не спорю. Просто хотел бы услышать альтернативу, как в этой ситуации сделать лучше. Добавлено через 5 минут И только из-за того, что у кого-то в России нет винды выше ХР использовать 4.0? Он же пишет для своей конторы. Уж думаю купить 7-ку они должны осилить. Хотя тут я не в курсе дел . У меня на работе 4.5 используем. Попадались нам заводы с ХР на их рабочих местах. Им просто говорили, ставьте семёрку и всё, потому что стоимость винды - капля в море. И мониторы 1920х1080. Такие условия, деваться некуда. И ставят. Добавлено через 56 секунд Ну мониторы, потому что на меньших мониторах будет ничего не помещаться на некоторых объектах (заводах). При масштабировании будет теряться качество растровых кадров (отображение течения тех процесса). Да и вообще много гемора появится. Это я сразу опережая объясню почему.
0
|
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
|
|
20.05.2015, 16:03 [ТС] | 7 |
Само собой, я первым делом это уточнил у заказчика - XP не будет.
Авторизация и роли будут, шифрование не нужно, все внутри организации
Вообще на самом деле я сейчас полчасика из интереса повтыкал в lightswitch, и даже не знаю - за полчаса методом тыка я собрал то, что на wpf писал бы неделю, а то и две... Даже х3 что теперь делать, конечно хочется чувствовать себя тру прогером, но холодный глас разума напоминает мне что у меня диплом, работа и ограниченное количество времени, а заказчик уже хочет видеть результат
0
|
95 / 54 / 10
Регистрация: 16.09.2012
Сообщений: 207
|
|
21.05.2015, 00:58 | 8 |
Да, WCF тебе реально сможет помочь. Так же гугли по поводу Web API. По поводу ролей и авторизации, гляди в сторону https://msdn.microsoft.com/en-... 47503.aspx и http://www.codeproject.com/Art... s-Security. И по поводу шифрования и то что будет всё внутри организации, это всё не так. Ты сам сказал, что в будущем у тебя проект выйдет за рамки локальной сети и что тогда? Тогда ты будешь допиливать шифрование, либо ты оставишь дыру в безопасности, чего делать совсем не нужно. Ну и конечно же, я тебе советую ThinktectureIdentityServer (http://www.codeproject.com/Art... on-Customi). Его, скорее всего будет сложно осилить, но просто знай, что есть такая штука. Так же, тебе нужно пояснить, что значит "таблицы в базе должны редактироваться пользователем". Я что-то сомневаюсь, что пользователи будут напрямую писать запросы к базе и вручную там всё редактировать. Для этого существует интерфейс. Поэтому, советую обратить внимание на EntityFramework (или NHibernate, например) и использовать его. Так же, советую реализовать тебе паттерн "Репозиторий", благодаря чему у тебя появится абстрактный уровень между твоей базой и реализацией. Еще я тебе советую книгу "Эрик Эванс. Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем". Там мужик очень полезные вещи пишет. Из контролов тебе должно хватить стандартных + Extended WPF Toolkit (что тебе уже посоветовали выше). По поводу графиков, тебе тоже уже советовали, но я еще хочу обратить твоё внимание на библиотеку DynamicDataDisplay. Её основное преимущество в том, что "не тормозит" (хотя OxyPlot тоже хорош).
2
|
21.05.2015, 00:58 | |
21.05.2015, 00:58 | |
Помогаю со студенческими работами здесь
8
Как сделать инструментальные окна? Как сделать инструментальные окна типа Photoshop-овских? Средства синхронизации средства проверки VS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |