Как сделать задачу телефонная книга на js с использованием ООП?

Нужно сделать страницу телефонная книга
В верхней части окна распологается 3 текстовых поля(имя,телефон,почта) и кнопка добавить
пользователь заполняет поля и нажимает на кнопку добавить
и новый контакт добавляется в таблицу расположенную под формой добавления контакта
над таблицей с контактами есть текстовое поле для поиска
в котором пользователь начинает печатать текст и происходит фильтрация элементов
в самой таблице напротив каждого контакта есть кнопка удалить и редактировать(сейчас не будетм делать, это на потом)
по нажатию на кнопку удалить контакт должен удаляться

Приложение должно состоять из 3х классов.

Подскажите плиз правильную логику, в какую сторону копать. Или похожие примеры.

На данном этапе есть такое видение:

//уровень данных
class GetContact {
  constructor(name,phone,email){
    this.name = name;
    this.phone = phone;
    this.email = email;
  }
};

//уровень логики
class ContactEdit extends GetContact {
  //массив контактов
  //методы для добавления и удаления классов
  //метод для поиска по подстроке
};

//уровень графики
class TableEdit extends ContactEdit {
  //метод для добавления данных в таблицу
};

function submitForm(form) {
  let name = form.name.value;
  let phone = form.phone.value;
  let email = form.email.value;
  let newUser = new GetContact(name,phone,email);
  //вызываем методы классов
};
  • Вопрос задан
  • 2055 просмотров
Пригласить эксперта
Ответы на вопрос 2
@grinat
Ты сделала репозиторий, но у тебя нет ни одной сущности. Если по простому:
class Contact {
   id
   name
   phone
   remove()
   save()
   render() => `<form></form>`
}
class PhoneBook {
   contacts
   render() => `<table></table>`
}
Ответ написан
@McBernar
Класса getcontact быть не может. Класс — это описание объекта.

Пробуйте просто мыслить объектами — объект человека, объект телефонной книги. Соответственно, у объекта телефонной книги будет как раз метод getcontact, который вернет объект (экземпляр класса) человека.

Куда тут засунуть третий класс — я не знаю. Разве что только какой-нибудь search, который умеет искать и вызывать методы объекта книги для рендера найденного.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы