Следующий UML является эквивалентом вашего кода
при следующих допущениях: Instance
и Layout
считаются атрибутамианалогичных классов.
SingletonClass
имеет два собственных атрибута (обозначены большими точками): public layout
типа Layout
и instance
типа AbstractClass
(это абстракция, поэтому курсив).Последний позднее будет содержать экземпляр конкретного ClassA
или ClassB
.
Будет ли дизайн в порядке, зависит.В принципе, в этом нет ничего плохого.