Какие использовать классы

  • Автор темы Автор темы TckJey
  • Дата начала Дата начала

TckJey

Новичок
Здравствуйте, есть простая система написанная в процедурном стиле, на вход подаются два файла со счетами разных типов , остатками на счетах и датами. php скрипт их парсит и вставляет в бд. Хочу перевести всё это на ООП, понимаю что нужен класс account и от него наследники, которые будут расширять базовый класс по типу счета, а какие ещё нужны классы и как будут взаимодействовать, подскажите?
 
что бы в дальнейшем расширять код, непереписывая его, например, файлики станут приходить не текстовые, а в dbf формате или ещё каком нибудь или типы счетов изменятся, и уже в бд нужно будет вставлять их по другой логике.
 
писал бы ещё функции для каждого типа входных файлов, для типов счетов различные условия ставил if,switch
 
TckJey
ну так тебе и классы не помогут.
$function = "parser_" . $extention;
$function(); - простая фабрика в процедурном стиле
 
можно подробней, зачем фабрика ,я же могу массив объектов использовать? Наверное, стоит ещё сказать что я только изучаю ООП и не силен как его на практике применить, и так же эта задача может служить для меня учебным примером, т.е вопрос зачем тебе ООП, когда есть функции, отпадает
 
что бы в дальнейшем расширять код, непереписывая его, например, файлики станут приходить не текстовые, а в dbf формате или ещё каком нибудь или типы счетов изменятся, и уже в бд нужно будет вставлять их по другой логике.
Вот как это выглядит при процедурном подходе. но с использованием ООП. никакое слово class на не нужно чтобы писать ООП код, классы просто добавляют удобства работы.
PHP:
function get_bills() {} // возвращает список счетов $bill
   function process_bill($bill) {}
       function parse_bill($bill) {} // возвращает массив распаршенных данных из текущего счёта
           function parse_bill_odt() {} // применяем фабрику для выбора типа парсера по типу файла
           function parse_bill_pdf() {}  // на выходе получаем массив распарщенных данных о счёте
       function save_bill($billData) {} // сохраняем данные
           function save_bill_type1($billData) {} опять фабрика по типу нужной стратегии сохранения.
           function save_bill_type2($billData) {}
 
Сверху