Download Bausteinbasierte Software: Eine Einführung in moderne by Günther Bauer PDF

myCreator Erzeugen von Objekten ohne Kenntnis der zugehörigen Klassen!

Factory Pattern: Variante 2 1* *; *; *; class Creator { public : virtual Product* CreateProduct ( ) = 0; }; template class StandardCreator : Public Creator { public : virtual Product* CreateProduct ( ); }; template Product* StandardCreator :: CreateProduct () { return new TheProduct;} class MyProduct : public Product { public : MyProduct ( ); ;; ... h> class Document IIProdukt-Klasse { public: virtual void Open( ) { }; virtual void Close( ) { }; virtual void meld1 (Document*) { }; void Save( ) { }; void Revert() { }; }; class AbsApplication IICreator-Klasse { public : virtual Document* CreateDocument( ) = 0; }; template class StandardCreator : public AbsApplication }; { public: virtual Document* CreateDocument ( ); template Document* StandardCreator::CreateDocument( ) { cout « "myCreator" « endl; return new TheDocument;} class TextDocument : IIConcreteProduct-Klasse public Document { public : TextDocument( ); void meld1 (Document*); 11...

Daraus ergibt sich folgender Konflikt: Das Framework muss konkrete Klassen einrichten, kennt aber nur die abstrakten Klassen, welche nicht instanziiert werden können. B. DrawingApplication verwaltet DrawingDocument. Für die Implementierung wählen wir hier folgende Möglichkeit. /* /* Factory Pattern: Variante 2 1* *; *; *; class Creator { public : virtual Product* CreateProduct ( ) = 0; }; template class StandardCreator : Public Creator { public : virtual Product* CreateProduct ( ); }; template Product* StandardCreator :: CreateProduct () { return new TheProduct;} class MyProduct : public Product { public : MyProduct ( ); ;; ...

Download PDF sample

Rated 4.32 of 5 – based on 41 votes