ООП Дизайн Шаблон / чтение информации из файла или API? - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть (x2) способы получения информации для моего объекта:

  1. Чтение из файла, хранящегося на диске
  2. Доступ к приложению, создавшему файл, через API приложения

Как только информация будет получена, у меня появятся методы:

  • Отображение
  • Анализ
  • Изменение информации (сновав виде файла или через API)

Если я изменю информацию, это не обязательно будет таким же образом, каким я получил информацию.Поэтому я мог бы:

  • Получить информацию по файлу и отправить информацию обратно по API
  • и всем другим очевидным комбинациям ...

Iне будет дополнительных способов ввода / вывода данных (например, API и файл охватывают все параметры).

Код будет в Matlab, поэтому у меня нет легкого доступа к перечисляемым типам и нескольким другим приятным функциям программирования, поэтому я испытываю желание использовать шаблон проектирования вместо ключа внутри класса.

Вопросы

Каковы подходящие шаблоны проектирования для этой проблемы?

Должен ли я использовать шаблон проектирования и написать несколькоклассы, чтобы сделать это или просто написать один класс с switch для file или API ?

1 Ответ

0 голосов
/ 24 ноября 2018

Один логический способ разрешить несколько форм для чтения данных - это иметь несколько форм конструктора (или метод read):

classdef DataObject
   %...
   methods
      function obj = DataObject(fname)
         if nargin==1
            % read data from file fname
            %...
         else
            % read data through an API
            %...
         end
      end
   end
end

Вы можете сделать

obj1 = DataObject;                 % Reads through API
obj2 = DataObject('somefile.txt'); % Reads from file

Аналогичная вещь может применяться к write методу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...