Итак, я начал читать эту книгу:
http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022
В главе 2 он объясняет шаблон проектирования MVC, а также дает пример, к которому мне нужно кое-что прояснить.
В простом примере показан вид со следующими полями:
hourlyRate, WorkHours, Standarthours, оклад.
Пример состоит из 3 частей:
Вид - содержит текстовые поля и таблицу (таблица содержит список данных сотрудников).
Контроллер - состоит из класса NSArrayController (содержит массив MyEmployee)
Модель - класс MyEmployee, который описывает сотрудника.
В классе MyEmployee есть один метод, который возвращает зарплату в соответствии с логикой расчета:
и атрибуты в соответствии с элементами управления пользовательского интерфейса представления.
MyEmployee наследуется от NSManagedObject.
Несколько вещей, в которых я не уверен:
1. Внутри файла реализации класса MyEmplpyee метод вычисления получает атрибуты класса, используя предложение типа
"[[self valueForKey: @" hourlyRate "] floatValue];" Однако внутри заголовка нет элемента данных с именем hourlyRate или какого-либо из полей представления.
Я не совсем уверен, как это работает и как оно получает значение из правильного поля зрения. (должно ли это быть то же имя, что и имя поля в представлении).
может быть, соглашение сделано каким-то образом с помощью построителя интерфейса и не было показано в книге?
и более важно:
2. как это отделяет вид от модели? скажем, поскольку книга подразумевает, что это может произойти, я решил однажды удалить одно из полей в представлении.
Насколько я понимаю, это означает изменение способа работы метода зарплаты в MyEmplpyee (потому что у нас меньше на одно поле) и удаление одного атрибута из той же команды.
Итак, как же это отделить представление от модели, если изменение одного отражения на другое?
Полагаю, я что-то не так ... Есть комментарии?
Спасибо