日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式-结构型-代理

發(fā)布時(shí)間:2025/3/21 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式-结构型-代理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#pragma once#ifndef PROXY_H #define PROXY_H // 定義了Proxy 和RealSubject 的公有接口, // 這樣就可以在任何需要使用到RealSubject 的地方都使用Proxy. class Subject { public: Subject(){} virtual ~Subject(){} virtual void Request() = 0; }; // 真正使用的實(shí)體 class RealSubject : public Subject { public: RealSubject(); virtual ~RealSubject(){} virtual void Request(); }; // 代理類,含有一個(gè)指向RealSubject 對(duì)象的指針 class Proxy : public Subject { public: Proxy();virtual ~Proxy(); virtual void Request(); private: RealSubject* m_pRealSubject; }; #endif
#include "StdAfx.h" #include "proxy_impl.h"#include <iostream> RealSubject::RealSubject() { std::cout << "Constructing a RealSubject\n"; } void RealSubject::Request() { std::cout << "Request By RealSubject\n"; } Proxy::Proxy() : m_pRealSubject(NULL) { std::cout << "Constructing a Proxy\n"; } Proxy::~Proxy() { delete m_pRealSubject; m_pRealSubject = NULL; } void Proxy::Request() { // 需要使用RealSubject 的時(shí)候才去初始化 if (NULL == m_pRealSubject) { std::cout << "Request By Proxy\n"; m_pRealSubject = new RealSubject(); } m_pRealSubject->Request(); }
// Proxy.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。 //#include "stdafx.h"#include "proxy_impl.h" #include <stdlib.h>//為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。 int _tmain(int argc, _TCHAR* argv[]) {Subject* pProxy = new Proxy(); pProxy->Request(); delete pProxy; system("pause"); return 0; }

總結(jié)

以上是生活随笔為你收集整理的设计模式-结构型-代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。