Записать информацию БД в файл - хороший аппрокоч? - PullRequest
0 голосов
/ 14 сентября 2010

У меня есть БД и структура отображения, написанная компанией, в которой я работаю. Поэтому у меня есть класс для каждой таблицы в БД, и эти классы позволяют вызывать БД и получать различную информацию, например, в DataSets или DataTables. Теперь я должен записать эту информацию в файл TXT в определенном формате (у меня есть спецификации, как это должно выглядеть). Речь идет о поместьях, в файле будет много поместьев, и для каждого поместья в файле будет около 40 строк. Я знаю, как записать в файл и прочее, то, что я ищу, это хороший подход к созданию этой функциональности в целом.

Это может быть слишком общим, чтобы дать хороший совет, но есть ли проверенный способ сделать такие вещи?

Спасибо: -)

1 Ответ

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

Давайте назовем классы, которые предоставляют вам информацию о таблице TableInfo objects

Я бы создал интерфейс IDBInfoWriter с методом WriteDBInfo(TableInfo ti)

Затем реализация IDBInfoWriter, скажем DBInfoFileWriter, с FileWriter в качестве частного члена. Каждый вызов WriteDBInfo будет записывать все, что записано в файле

Наконец, объект DBInfoWalker, который будет принимать список экземпляров TableInfo и IDbInfoWriter

class DBInfoWalker
function new(TableInfo[] tis, IDBInfoWriter idbiw)
{...}

function process()
{
    for each TableInfo ti in tis
    {
        idbiw.WriteDBInfo(ti);
    }
}

Таким образом, вы можете

  • Работайте с любым подмножеством TableInfo, которое вы хотите (допустим, вы хотите просто список TableInfo, начинающийся с "S", передавайте только этот список в конструкторе DBInfoWalker
  • Создайте столько стилей вывода для своей таблицыInfo, просто создайте правильную реализацию IDBInfoWriter (сеть, уникальный файл, несколько файлов и т. Д.)

Конечно, это только одна возможность:)

Удачи

...