Be aware that what you want to implement isyou're accurately describing the observer design pattern, having yourgiven the domain model object asto be the subject and the views asto be observers. Note also that this isthe observer pattern implies a higher level of abstraction construct than a mere smart pointer, and that there is no direct conceptual correspondence between the two of them.
In order to implement itthis pattern, you must firstly ensure that all the involved views should(observers) implement a common interface (for example, for example by inheritance)inheriting a common base, whileabstract class. Then, the domain object would manage(subject) can proceed with managing a set of references (for example, smart pointers) to instances of that said observer interface, and notifying them all (bywhen required, by calling the appropriate interface methods) when required.
Smart pointers can be used in this scheme to implement the references managed by the subject.