03
Май
2020

Как правильно сделать архитектуру, чтобы она удовлетворяла принципам ООП? [закрыт]

Подскажите пожалуйста, как правильно организовать следующее, чтобы это удовлетворяло принципам ООП (допустим, на примере языка PHP).

Есть базовый класс File для работы с файлами (методы: open, read, write, close). От него наследуются IniFile (для работы с расширением ini), JsonFile (для работы с расширением json), CfgFile (для работы с расширением cfg), в которых переопределенные методы базового класса имеют собственную реализацию. Откуда-нибудь (например, с клавиатуры) считывается название файла в формате имя_файла.расширение. В зависимости от расширения нужно понять, объект какого класса создавать. Вопрос: как это правильно сделать, чтобы не лепить проверку на все возможные типы файлов и создании объекта под каждый из этих типов? Благодарю.

(ну, и если это имеет какое-то значение, я также создал интерфейс FileInterface, в котором определены обязательные методы: open, read, write, close. Все мои классы имеют интерфейс FileInterface).


Нашел репозиторий, в котором в принципе реализовано все то, что я хотел. Всем спасибо.

Источник: https://ru.stackoverflow.com/questions/1119473/%D0%9A%D0%B0%D0%BA-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D1%83-%D1%87%D1%82%D0%BE%D0%B1%D1%8B-%D0%BE%D0%BD%D0%B0-%D1%83%D0%B4%D0%BE%D0%B2%D0%BB%D0%B5%D1%82%D0%B2%D0%BE%D1%80%D1%8F%D0%BB%D0%B0-%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D0%B0%D0%BC-%D0%9E%D0%9E%D0%9F

Тебе может это понравится...

Добавить комментарий