Я начинаю новый проект VB, и я мог бы использовать некоторые рекомендации - PullRequest
3 голосов
/ 09 сентября 2010

У меня нет конкретного вопроса, но я больше ищу некоторые рекомендации относительно нового программного проекта, который я начинаю на работе.

Вот описание проекта:

Я занимаюсь рефакторингом программного обеспечения для Windows, написанного на Visual Basic 6 и использующего MS SQL Server для базы данных.Код тесно связан с запросами SQL и ссылается на старые активные элементы управления X.

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

Пользователям программного обеспечения необходимо использовать широкий спектр USB-устройств, которые интегрированы с программным обеспечением на стороне клиента.(Я предполагаю, что это означает, что новая версия программного обеспечения должна быть настольным приложением и не может быть веб-приложением на основе браузера.)

Новая версия программного обеспечения будет обновлена ​​для использования новойтехнологии в целях модернизации кода и повышения производительности.

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

В очень обобщенном объяснении программное обеспечение имеет таблицу базы данных «сотрудник», в которой хранится информация о сотрудниках.Клиентская сторона имеет сеточное представление, которое позволяет пользователю просматривать информацию о сотрудниках, хранящуюся в базе данных, и вносить изменения в данные через сеточное представление.Данные могут быть добавлены в базу данных сотрудников клиентом с помощью форм с текстовыми полями и выпадающими меню.Данные, относящиеся к сотрудникам, также могут быть записаны USB-устройствами на стороне клиента, а затем эти данные также могут быть добавлены в базу данных сотрудников.

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

Новое программное обеспечение будет написано в Visual Basic с использованием Visual Studio 2010. Кроме того, ни одна из других технологий не была выбрана.

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

Отто, что я прочитал, мне нравится Entity Framework и Linq, но я не уверен, как это работает в сочетании со слоем бизнес-логики с шаблонами проектирования, о которых я упоминал выше.

Кроме того, я пытаюсь понять,если бы мы могли использовать Windows Communication Foundation и веб-сервисы.Это имеет смысл, когда программное обеспечение работает в распределенном режиме, но не имеет особого смысла в автономном развертывании на одной машине.Добавление веб-сервисов и использование IIS может оказаться излишним для того, что мы пытаемся достичь.Я не знаю.

Так вот, над чем я работаю и о чем я читаю и что исследую.Буду очень признателен за ваши мысли по этому поводу и за любые рекомендации, которые вы можете дать.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 09 сентября 2010

Помимо того, что вы многому научитесь в процессе разработки, я могу дать вам следующие рекомендации:

  • Использование Хранимых процедур в базе данных длядоступ к базе данных.Это предотвратит проблемы параллелизма, а также позволит проводить транзакции.Это означает, что если что-то пойдет не так (сбой компьютера пользователя и т. Д.), То ни данные, ни целостность данных не будут потеряны

  • Рассматривать формы Windows как просто «интерфейсы» между пользователем и базой данных.Следовательно, они не должны содержать ничего, что отслеживает данные (пусть это делает база данных), и они являются лишь средством сбора и отображения данных

1 голос
/ 09 сентября 2010

У меня был очень похожий опыт.

Я попытался импортировать проект базы данных VB6, который запускался как отдельное приложение, в VB 2005, и код был очень уродливым.

Одна книга, которую я нашел очень полезной при создании трехуровневых приложений БД с использованием VB.NET (на самом деле VB 2005), была ADO.NET 2.0 с VB 2005 , опубликованной Murach. Очень быстро освоил скорость и привел прямые примеры написания трехуровневых приложений БД (бизнес-уровень, уровень представления и уровень доступа к БД).

Не могу точно вспомнить, есть ли более новая версия книги, но я был впечатлен ее макетом. Это также касается веб-приложений.

Кроме того, я выполнил некоторую генерацию кода, чтобы упростить взлом классов Object и классов доступа к БД для моего проекта.

0 голосов
/ 09 сентября 2010

Я считаю, что этот проект действительно поможет вам выучить и получить большой опыт.

Как сказал eddy556, используйте формы только как интерфейсы.Так работает лучше.

Плюс, если у вас есть какие-либо проблемы, не стесняйтесь спрашивать.Это то, для чего мы, команда StackOveflow, все равно здесь.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...