Рассмотрим следующий код:
class Customers {
private _list: Array<Person>;
constructor() {
this._list = [];
}
public get customerList(): Array<Person> {
return this._list;
}
}
С учетом этого кода, похоже, нет никакого способа помешать потребителю изменить массив customerList
способами, которые мне могут не понравиться. Например, потребитель может позвонить
myCustomer.customerList.slice(1, 2);
и удалить клиентов без «разрешения».
На других языках я представляю список как IEnumerable<T>
, а затем, при желании, предоставляю конкретные методы удаления.
Как правильно инкапсулировать и защитить свойство customerList () вTypeScript?
(Совершенно рад признать, что я иду по этому совершенно неправильному пути .....)