У меня есть некоторые мысли о совместном использовании объектов.Обмен данными между объектами, свойствами связывания
- Позволяет определить класс C со свойствами p1, p2 (позволяет думать, что она неизменна).
- Позволяет иметь некоторые объекты Х и Y класса C.
- Позволяет создать своего рода «контейнер» G для объектов класса C. «контейнер» G обладает свойством GP1.
- Позволяет добавить объект X в "контейнер" G и "связывают" X.p1 с G.gp1 значение. (Bind действительно говорит, что, когда объект X пытается получить значение свойств p1 он получает значение GP1.)
- Давайте добавим объект Y в контейнер G и «связывают» Y.p1 с G.gp1 значение.
Как вы думаете, это простая вещь для людей.
Единственная идея, о которой я думаю, это создать интерфейс для p1, p2 доступ к собственности. Затем реализуйте интерфейс в Класс C (нет общих данных) и Класс GC (с данными контейнера). А затем украсьте объекты, чтобы добавить методы.
Как вы можете видеть, каждая привязка добавляет реализацию интерфейса + интерфейса. Thats много писать и вроде уродливые.
Вопрос: Как создать операцию связывания типа для каждого объекта? (без внедрения DSL, используя C-производные langauges: java, C#, C++, php, ...)
Вы можете быть заинтересованы в HTTP: // ан .wikipedia.org/wiki/Law_of_Demeter –
Благодарим вас за ссылку. – user1759572
В чем смысл иметь поле в классе и возвращать с помощью другого поля в другом классе? Это очень опасная конструкция. – Gangnus