vv_shameer Ответов: 2

Шаблон проектирования системы передачи файлов


У меня есть требование передавать файлы из гетерогенных источников (например: FTP,SSH,SSHW) в пункты назначения (может быть снова FTP,SSH,SSHW..и т. д.).

Я определил шаги, чтобы реализовать это;
1. Получить все имена файлов из исходников
2. Переименовать файлы
3. Загрузка Файлов
4. Преобразование Файлов
5. загрузка в пункт назначения
6. Удалить из источника

В большинстве случаев мне приходится выполнять все 6 шагов. Но в некоторых случаях я должен использовать только некоторые из этих шагов. Короче говоря, у меня будут разные комбинации вышеперечисленных шагов. Я настрою эти комбинации где-нибудь в БД или xml.

напр.:
случай 1: Шаг 1 ,2,3,4,5,6
случай 2: шаг 1,2,4

Я ищу правильный дизайн, чтобы реализовать это.

Я попытался использовать цепочку ответственности. Думал, что приму совет специалиста.

Ценю ваш вклад.

Sergey Alexandrovich Kryukov

Извините, это не вопрос. В чем проблема? Зачем вообще искать закономерность? Не кажется ли вам, что взгляд на паттерн просто мешает вам сесть и правильно спроектировать систему?

Разработка программного обеспечения осуществляется не путем "поиска дизайна", а путем работы над дизайном.

—СА

[no name]

Согласитесь с SA. Кто сказал, что тебе нужен образец? Нет никакой замены мышлению. https://en.wikipedia.org/wiki/Form_follows_function

2 Ответов

Рейтинг:
1

David A. Gray

Первое, что приходит на ум, - это XML-файл конфигурации, что-то вроде следующего.

<tasks>
    <task id="1">
        <step1>true</step1>
        <step2>true</step2>
        <step3>true</step3>
        <step4>true</step4>
        <step5>true</step5>
        <step6>true</step6>
    </task>
    <task id="2">
        <step1>true</step1>
        <step2>true</step2>
        <step3>true</step3>
        <step4>true</step4>
        <step5>true</step5>
        <step6>false</step6>
    </task>
</tasks>


Рейтинг:
0

Member 14973462

Меня удивляет, что люди так сваливают, что создают шаблон за шаблоном. Передача файлов должна загружать и скачивать файлы для того, чтобы передать их. Переименование и преобразование файлов-это очевидная смесь проблем (дизайнерский грех), и для этих задач у нас есть шаблон ETL (back to school!).

Автор не делает различия между системами и шаблонами: "получить все имена файлов из источника" - это система/реализация и вовсе не шаблон; это простой запрос. "Удалить из исходного кода" не имеет ничего общего с передачей файлов - это также не шаблон; это необязательная системная операция.

Если вы хотите, чтобы вас видели всерьез, сначала изучите основы.

- Майкл Пулин.


Dave Kreskowiak

Вы опоздали к обсуждению всего на 5 лет.