您现在的位置: 主页 > 黑客联盟 > QQ盗号木马 > 文章内容

创建出不同的对象,盗QQ密码接口组成了整个构建对象的一致流程

作者: 盗QQ密码 来源:未知 时间: 2018-02-27 阅读:
创建出不同的对象,盗QQ密码接口组成了整个构建对象的一致流程,而具体的接口实现则因物而异,建筑者模式很好地解决了接口和实现耦合关系,值得大家学习,而今天我们再来学习另外一个设计模式——外观模式,根据DP上的定义:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。换句话来讲,就是一个一个复杂的系统将所有的复杂操作都封装起来,而对外只提供一个易于使用的接口,就拿《大话设计模式》里的例子来讲吧,例如开机操作,对于用户而言只需要按一下开机键即可,如果从系统的角度来看的话,当用户按完开机键之后,会经过很多的处理步骤,最终开机成功,用户可以正常的使用电脑,对于系统经过的流程步骤,用户完全不用理会。这个例子应该能够说明外观模式的特点了,下面,我们就从代码说起吧,代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef __FACADE__H
#define __FACADE__H
 
#include <IOSTREAM>
#include <BOOST smart_ptr.hpp>
using namespace boost;
using namespace std;
 
class Cpu
{
    public:
        void checkCpu()
        {
            cout<<"check cpu"<<ENDL; cpu="shared_ptr<Cpu" { OnComputer() public: OnComputer }; } keyboard?<<endl; cout<<?check checkKeyBoard() void KeyBoard memory?<<endl; checkMemory() Memory>(new Cpu);
            memory = shared_ptr<MEMORY>(new Memory);
            keyboard = shared_ptr<KEYBOARD>(new KeyBoard);
        }
        void startComputer()
        {
            cpu->checkCpu();
            memory->checkMemory();
            keyboard->checkKeyBoard();
            cout<<"start computer success"<<ENDL; } shared_ptr<Cpu private:> cpu;
        shared_ptr<MEMORY> memory;
        shared_ptr<KEYBOARD> keyboard;
};
#endif
 
#include "Facade.h"
 
int main()
{
    OnComputer on;
    on.startComputer();
    return 0;
}

 

总结

本篇博文主要是分析设计模式里的外观模式,这个模式的特点就是外界无需要了解一个系统的底层是如何实现的,只需要简单地使用其接口即可,而在系统实现层面,需要考虑各个接口之间的调用关系,上述的代码示例虽然很简单,但是从中我们需要了解到这个模式的一些精髓的东西,比如如何定义外观接口,如何组织外观里面的一些接口实现等,,这些东西只有在实际的开发中,慢慢体会,并加以运用,才能真正明白外观模式一些实在的东西,好了,本篇博文到此结束,下篇博文我们继续学习设计模式——组合模式。