Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Автоматизация выполнения задач  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Здравствуйте, коллеги.
Согласно утвержденному регламенту, в определенные промежутки времени наш сотрудник запускает учетную систему, которая в зависимости от введенных параметров (дата и т.п.) проделывает определенную работу: генерирует отчеты, рассылает их адресатам, отправляет некоторую информацию по смс и т. д. И все это разнообразие действий зависит от комбинации введенных входных параметров и прописано жестко, то есть чтобы добавить выполнение новой задачи (например создание отчета) при определенной комбинации входных параметров, приходится лезть в код и менять его. Сейчас там уже достаточно объемный, очень громоздкий код, причем трудно поддерживаемый. Собственно вопрос: посоветуйте, пожалуйста, как можно реализовать все это гибкой логикой, при которой не придется дописывать код, а например, внести с помощью удобного пользовательского интерфейса данные о задаче и условия, которые например, будут храниться в БД. Может есть какие-нибудь .Net-классы, которые реализуют эту задачу или что-то подобное?
5 июл 11, 11:21    [10922977]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация выполнения задач  [new]
pation
Member

Откуда: Москва
Сообщений: 4505
rsolanov
Здравствуйте, коллеги.
Согласно утвержденному регламенту, в определенные промежутки времени наш сотрудник запускает учетную систему, которая в зависимости от введенных параметров (дата и т.п.) проделывает определенную работу: генерирует отчеты, рассылает их адресатам, отправляет некоторую информацию по смс и т. д. И все это разнообразие действий зависит от комбинации введенных входных параметров и прописано жестко, то есть чтобы добавить выполнение новой задачи (например создание отчета) при определенной комбинации входных параметров, приходится лезть в код и менять его. Сейчас там уже достаточно объемный, очень громоздкий код, причем трудно поддерживаемый. Собственно вопрос: посоветуйте, пожалуйста, как можно реализовать все это гибкой логикой, при которой не придется дописывать код, а например, внести с помощью удобного пользовательского интерфейса данные о задаче и условия, которые например, будут храниться в БД. Может есть какие-нибудь .Net-классы, которые реализуют эту задачу или что-то подобное?


наймите грамотного архитектора
5 июл 11, 14:56    [10925268]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация выполнения задач  [new]
rsolanov
Member

Откуда:
Сообщений: 930
pation,
Неоценимая помощь с вашей стороны.
5 июл 11, 15:36    [10925720]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация выполнения задач  [new]
Abstraction
Member

Откуда:
Сообщений: 2342
rsolanov,

Если логика зависимости действий от "даты и т.п." есть нечто уникальное и присущее только Вашей организации с её кругом проблем, то, ИМХО, пытаться реализовать её стандартными компонентами не стоит.
Самый тупой вариант - сделать файл правил, и заставить саму систему работать его интерпретатором. По крайней мере, избавитесь от необходимости перекомпиляции при каждом чихе.

rsolanov
внести с помощью удобного пользовательского интерфейса данные о задаче и условия

В такой формулировке это требование, чтобы секретарша могла без проблем, в интуитивно понятном интерфейсе внести задачу нахождения сотого знака числа пи и отправки его директору голубиной почтой. Если Вы думаете, что по такому описанию Вам предложат готовое решение, то зря...
5 июл 11, 15:48    [10925867]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация выполнения задач  [new]
rsolanov
Member

Откуда:
Сообщений: 930
Abstraction
rsolanov,
Если логика зависимости действий от "даты и т.п." есть нечто уникальное и присущее только Вашей организации с её кругом проблем, то, ИМХО, пытаться реализовать её стандартными компонентами не стоит.
Самый тупой вариант - сделать файл правил, и заставить саму систему работать его интерпретатором. По крайней мере, избавитесь от необходимости перекомпиляции при каждом чихе.
На самом деле уже в процессе реализации подобного варианта, просто не хочется огород городить, может уже есть для этого случая наработанные практики, поэтому и обратился к форуму
6 июл 11, 16:35    [10933755]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация выполнения задач  [new]
pation
Member

Откуда: Москва
Сообщений: 4505
rsolanov
Abstraction
rsolanov,
Если логика зависимости действий от "даты и т.п." есть нечто уникальное и присущее только Вашей организации с её кругом проблем, то, ИМХО, пытаться реализовать её стандартными компонентами не стоит.
Самый тупой вариант - сделать файл правил, и заставить саму систему работать его интерпретатором. По крайней мере, избавитесь от необходимости перекомпиляции при каждом чихе.
На самом деле уже в процессе реализации подобного варианта, просто не хочется огород городить, может уже есть для этого случая наработанные практики, поэтому и обратился к форуму


вариант подобный чему? вы ничего конкретного не сказали.
6 июл 11, 18:25    [10934670]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация выполнения задач  [new]
ulisse
Member [заблокирован]

Откуда:
Сообщений: 10
rsolanov
На самом деле уже в процессе реализации подобного варианта, просто не хочется огород городить, может уже есть для этого случая наработанные практики, поэтому и обратился к форуму
Конечно есть такая практика, это паттерн "Visitor", посмотрите как он изящно выбирает условия обработки например разных типов данных или условий. Достоинство этого паттерна также то, что в нем легко реализуется техника "Undo", то есть при возникновении каких-либо обстоятельств (не ексепшенов!) или по желанию пользователя система автоматически восстанавливает свое первоначальное состояние (конечно отправленные сообщения никто не вернет, но вернуть бд можно).

Ваша задача - создать объект-коллекцию с произвольным интерфейсом, затем покидать туда все ваши типы/инстансы и с помощью рефлексии поднимать соответсвующие интерфейсы/абстрактные классы на выполнение - рекомендую, милое дело.
6 июл 11, 20:35    [10935105]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить