2015-09-16 9 views
0

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

  1. Импорт записей из файла excel и массового дампа в базу данных сервера sql.

  2. Затем я запускаю процедуру хранилища, чтобы выполнить некоторые проверки уровня базы данных.

  3. Затем я беру записи и заказываю третьему лицу. Используя SOAP api.

  4. Я сохраняю весь журнал для каждого шага и сохраняю его в базе данных.

Я разделил материал на 3 разных класса.

  1. excel импорт - проверка подлинности листа, проверка достоверности данных, sql bulk insert to database.

  2. CodeInjectionPros.cs - это класс, который обрабатывает массивные базы данных и готовит записи, которые необходимо отправить в SoapApi. и в том же классе, выполняющем операцию впрыска и обновления в mydb каждой записи, которая вставлена ​​в мыло api.

  3. Loggger.cs - когда я запускаю excel import - создаю объект этого класса. начните добавлять строку на каждом шаге, где мне нужно. когда весь процесс завершается. я имею в виду экономию до мыла api, затем я сделал один звонок в базу данных, чтобы сохранить все подробности.

Мне нужно определить наилучшую практику для этого. Любая помощь? Дайте мне знать, если мне нужно также отправить код?

enter image description here

ответ

2

Вы посмотрите на Multi layered architecture может. Ваше приложение, кажется, что может использовать наиболее распространенные уровни:

  • Presentation слой (так называемый слой пользовательского интерфейса: сегодня это

    консольного приложения,

, но в будущем вы можете добавить веб , Win формы и т. Д.)

  • Нанесение слоя (aka service layer: место для

    SOAP API

службы)

  • Бизнес слоя (а.к.а.бизнес-логики:

    Excel импорт и проверка

в вашем случае) уровень доступа

  • данных (а.к.а.

    SQL

уровень сохранения, сетевые службы и службы ведения журналов, необходимые для поддержки вашего бизнес-уровня).

После того, как вы очистите архитектуру, вы можете спроектировать нижний уровень.

На уровне презентации вы можете использовать отдельный шаблон представления (тип многоуровневого дизайна), например Model-View-Controller, для вашей модели взаимодействия.

Для bisiness уровня, вы можете использовать приложение Facade или какие-либо другие из relevant patterns.

В ярусе Доступа к данным хорошая подгонка будет Data mapper pattern, так как он дает вам слой между объектами и структурой базы данных, которая используется для перемещения данных из одной структуры в другую, сохраняя при этом их независимость. Другие связанные patterns посмотреть.

+0

Добро пожаловать в StackOverflow @Amrik, пожалуйста, удалите комментарий «Спасибо». Согласно политике сайта Хорошие ответы проголосовали и поднялись на вершину. Человек, который спросил, может отметить один ответ как «принятый». – ekostadinov