Я пытаюсь найти лучший шаблон проектирования, чтобы изолировать дочерний объект от слишком многого знания о родительском объекте, в котором он содержится.
Например, с таким родительским классом, как этот ...
class Airplane {
var seats:Array
...
function removeSeat(seat:Seat) {
// find seat object in seats array and remove it
}
}
дочерний класс ...
class Seat {
var rowNumber:int
...
}
Если я работаю в контексте объекта Seat и хочу удалить себя из родительского объекта Airplane, что это такое?лучший способ отделить Seat от знания того, где он находится в массиве Airplane.seats?
Я знаю, что могу передать родительский объект Airplane в конструктор Seat, а затем вызвать метод removeSeat на Airplane для удаленияэто место, но я хочу, чтобы сиденье знало как можно меньше о самолете.Есть идеи?