У меня нет конкретного вопроса, но я больше ищу некоторые рекомендации относительно нового программного проекта, который я начинаю на работе.
Вот описание проекта:
Я занимаюсь рефакторингом программного обеспечения для Windows, написанного на Visual Basic 6 и использующего MS SQL Server для базы данных.Код тесно связан с запросами SQL и ссылается на старые активные элементы управления X.
Программное обеспечение может работать в автономном режиме, при котором выполняется только один экземпляр на одном компьютере, или в распределенном режиме, когда оно работает на нескольких машинах одновременно.все подключено к общему источнику данных.
Пользователям программного обеспечения необходимо использовать широкий спектр USB-устройств, которые интегрированы с программным обеспечением на стороне клиента.(Я предполагаю, что это означает, что новая версия программного обеспечения должна быть настольным приложением и не может быть веб-приложением на основе браузера.)
Новая версия программного обеспечения будет обновлена для использования новойтехнологии в целях модернизации кода и повышения производительности.
Я бы хотел, чтобы архитектура нового программного обеспечения была логической и трехуровневой, а также при необходимости использовала шаблоны проектирования.Хотя я новичок в разработке шаблонов, кажется, что в новой версии программного обеспечения есть возможность использовать абстрактные фабричные, наблюдательные и одноэлементные шаблоны.
В очень обобщенном объяснении программное обеспечение имеет таблицу базы данных «сотрудник», в которой хранится информация о сотрудниках.Клиентская сторона имеет сеточное представление, которое позволяет пользователю просматривать информацию о сотрудниках, хранящуюся в базе данных, и вносить изменения в данные через сеточное представление.Данные могут быть добавлены в базу данных сотрудников клиентом с помощью форм с текстовыми полями и выпадающими меню.Данные, относящиеся к сотрудникам, также могут быть записаны USB-устройствами на стороне клиента, а затем эти данные также могут быть добавлены в базу данных сотрудников.
С точки зрения того, как это относится к архитектуре, я предполагаю, что может существовать наблюдаемый объект-одиночка сотрудника, который наблюдается объектами отображения данных, такими как объект вида сетки, и что эти объекты отображения данных создаются абстрактной фабрикой.метод.(Имеет ли это смысл?)
Новое программное обеспечение будет написано в Visual Basic с использованием Visual Studio 2010. Кроме того, ни одна из других технологий не была выбрана.
Я думаю, что мы будем использовать формы окон, отличные от основы представления окон, хотя я не уверен, поскольку нам могут потребоваться некоторые функции обработки изображений, которые лучше сделать с WPF.
Отто, что я прочитал, мне нравится Entity Framework и Linq, но я не уверен, как это работает в сочетании со слоем бизнес-логики с шаблонами проектирования, о которых я упоминал выше.
Кроме того, я пытаюсь понять,если бы мы могли использовать Windows Communication Foundation и веб-сервисы.Это имеет смысл, когда программное обеспечение работает в распределенном режиме, но не имеет особого смысла в автономном развертывании на одной машине.Добавление веб-сервисов и использование IIS может оказаться излишним для того, что мы пытаемся достичь.Я не знаю.
Так вот, над чем я работаю и о чем я читаю и что исследую.Буду очень признателен за ваши мысли по этому поводу и за любые рекомендации, которые вы можете дать.
Спасибо!