Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions frontend/middle-1/oop.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

* Что такое ООП?
* Что такое класс?
* Что такое объект?
* Объект
* Что такое идентичность?
* Что такое состояние?
* Что такое поведение?
* Что такое иерархия классов?
* Что такое абстрактный класс и абстрактный метод?
* Что такое статический метод? Является ли класс только из статических методов классом по ООП?
* Какие есть особенности у каждого из основных типов отношений между классами: композиции, агрегирования, наследования, ассоциации?
* Чем композиция отличается от наследования?
* Что такое полиморфизм? Для чего он используется?
* Что такое инкапсуляция? Какие проблемы решаются с ее помощью?
* Что такое состояние программы? Как оно влияет на программу?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

https://habr.com/ru/company/otus/blog/525336/
Каждый объект обладает тремя cоставляющими: идентичность (identity), состояние (state) и поведение (behaviour).

https://habr.com/ru/post/111162/
https://habr.com/ru/post/111125/

Давай лучше переформулируем вопрос так, чтобы подсветить нужную сторону и все?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну так, вроде бы, про составляющие объекта рассказывается, когда отвечаешь на вопрос, что такое объект? Единственное, когда я отвечал, про идентичность говорить не стал, хотя и читал про нее, но она не во всех источниках упоминается.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай тогда явно просто туда перенесем? Ну то есть чтобы в вопросе про объекты были явные подвопросы про состояние, поведение (и их противопоставление) и айдентити?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно как-то так:
Объект

  • Что такое идентичность?
  • Что такое состояние? Какие проблемы с ним связаны?
  • Что такое метод? Рассказать про аксессоры, мутаторы, менеджеры (насчет менеджеров не совсем уверен, по крайней мере конструктор больше к классу относится).
    И про проблемы можно добавить вот эту ссылку, раздел Problems. Отдельно такого подробного описания проблем в одном месте не нашел.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай явно в вопросе еще про "поведение" упомянем, можно как раз сравнив и противопоставив поведение и стейт

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И про проблемы можно добавить вот эту ссылку, раздел Problems. Отдельно такого подробного описания проблем в одном месте не нашел.

Там на самом деле прямо другое, хотя очень связанные темы. Там про State в узком понимании паттерна (кажется из банды четырех даже), и хотя это похоже, но всё же там своя специфика :)

Copy link
Contributor Author

@iatsdotfatr iatsdotfatr Oct 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я именно про раздел Problems этой статьи, там, кажется, про общие проблемы состояния и указано. А дальше уже про паттерн. А других ссылок с явным описанием проблем я не нашел, поэтому или дать эту, или не давать ничего.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну я тоже про раздел Problems, там где про конечный автомат :) То есть про то, что у тебя есть специально обозначенные теги состояния, которые говорят о том, как поведение меняется в зависимости этого тега. В целом это часто одна из проблем стейта, но только всё же это частный случай

image

Copy link
Contributor Author

@iatsdotfatr iatsdotfatr Oct 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Похоже, я ссылку перепутал, там было вообще другое, хотя сайт, кажется, тот же).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал новый коммит

* Что такое сайд-эффекты?
* Надо ли бороться с сайд-эффектами при проектировании в парадигме ООП?
* Являются ли мутации сайд-эффектом?
Expand Down