Modèle de conception C brève introduction au modèle d'apparence

黄舟
Libérer: 2017-01-18 14:52:47
original
1598 Les gens l'ont consulté

Façade : fournit une interface cohérente pour un ensemble d'interfaces dans un sous-système. Ce mode définit une interface de haut niveau qui rend le sous-système plus facile à utiliser.

Deux rôles principaux :

Classe d'apparence Façade : savoir quelles classes de sous-système sont responsables du traitement des demandes et transmettre les demandes des clients aux objets du sous-système appropriés.

Collection de sous-système SubSystem : implémente les fonctions du sous-système et gère les tâches assignées par l'objet Facade. Remarque : La sous-classe ne contient aucune information sur la façade, c'est-à-dire qu'il n'y a aucune référence à l'objet Facade.

Cet article prend comme exemple l'achat de fonds. Les clients n'ont qu'à acheter et vendre des fonds (Façade), et les opérations du Stock 1, du Stock 2, du Stock 3, etc. (Sous-Système) sont gérées par la société de fonds.

Cas de test :

[code]int main(){
    Fund fund;//基金对象(Facade)
    fund.fundBuy();//stock1 buy stock2 buy stock3 buy
    fund.fundSell(); //stock1 sell stcok2 sell stock3 sell

    return 0;
}
Copier après la connexion

Implémentation du modèle d'apparence :

[code]//子系统不知道Facade的任何信息
//股票1号
class Stock1{
public:
    void sell(){
        std::cout << "stock1 sell\n";
    }
    void buy(){
        std::cout << "stock1 buy\n";
    }
};
//股票2号
class Stock2{
public:
    void sell(){
        std::cout << "stcok2 sell\n";
    }
    void buy(){
        std::cout << "stock2 buy\n";
    }
};
//股票3号
class Stock3{
public:
    void sell(){
        std::cout << "stock3 sell\n";
    }
    void buy(){
        std::cout << "stock3 buy\n";
    }
};

//基金类是Facade
class Fund{
public:
    Stock1 stock1;
    Stock2 stock2;
    Stock3 stock3;
    void fundSell(){
        stock1.sell();
        stock2.sell();
        stock3.sell();
    }
    void fundBuy(){
        stock1.buy();
        stock2.buy();
        stock3.buy();
    }
};
Copier après la connexion

Quand utiliser le modèle d'apparence ?

Dans les premières étapes de la conception, vous devez consciemment séparer les deux couches différentes.

Pendant la phase de développement, les sous-systèmes deviennent souvent de plus en plus complexes en raison de la reconstruction et de l'évolution continues.

Lors de la maintenance d'un grand système existant, vous pouvez utiliser le code très complexe ou le code mal conçu du système d'origine pour utiliser une interface relativement simple et claire afin de permettre au nouveau système d'interagir avec l'objet Façade.

Ce qui précède est le contenu de la compréhension de base du mode de conception C et du mode d'apparence. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal