В объектно-ориентированном языке вы не можете отрицать преимущества интерфейса, есть сотни преимуществ.
Позвольте привести пример Dummies :
Я предполагаю, что вы используете MVC и Ajax.И в течение каждого focusout
из input
вы передаете серверу значение input
, а также имя модели, которое хранится в атрибуте data-model
(custom).
<input name="myfield" value="myvalue" data-model="user_model" onblur="send ajax request .." />
Теперь, когдавы потеряли фокус от ввода, оно отправляет данные на сервер, как это
{"a_model":"user_model","a_name":"myfield","a_value":"myvalue"}
На сервере вы просто вызываете имя модели, полученное из запроса ajax.Примерно так:
$this->{$a_model}->update($a_field,$a_value);
Здесь значение $a_model
меняется, поэтому вы не можете быть уверены, что эта модель будет иметь метод update()
.Здесь интерфейс вступает в игру. Интерфейс заставляет все реализованные модели (классы) иметь метод update()
, чтобы вы могли безоговорочно запускать код выше .
Надеюсь, это имеет смысл.