Я изучаю шаблоны проектирования с курса на Coursera. У них есть заметки о курсе, в которых они определяют Subject
шаблона проектирования наблюдателя как суперкласс, как показано на рисунке и коде ниже
UML
КОД (ПРЕДМЕТ)
Теперь я думаю, что класс Subject
сам по себе бесполезен, пока подкласс не унаследует его и не создаст какой-либо конкретный предмет. В таком случае Subject
не должен быть Java interface
вместо этого? По какой причине Subject
- это не интерфейс Java, а Observer
.
Есть ли какая-то конкретная причина для этого. Я немного запутался по этому поводу.
Спасибо