C语言实现《设计模式之禅》之代理模式——普通代理

本文介绍了如何使用C语言实现设计模式中的代理模式,特别是普通代理。通过示例代码展示了如何创建游戏者的抽象接口、具体游戏者类以及普通代理类,代理类用于控制对游戏者的访问,隐藏了真实角色的细节。在应用场景中,通过代理对象进行登录、杀怪和升级等操作,最后释放资源。
摘要由CSDN通过智能技术生成
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


/*C语言实现<设计模式之禅>之代理模式____普通代理*/


/*代理模式: 为其他对象提供一种代理以控制对这个对象的访问*/
/*普通代理:  调用者只能访问代理角色,而不能访问真实角色。 调用者只知道代理而
不用知道真实角色,屏蔽了真实角色的变更对高层模块的影响。*/




/*抽象游戏者*/
typedef struct _IGamePlayer IGamePlayer;
struct _IGamePlayer
{
    void (*login)(char *pName, char *pPassword, void *);
    void (*killBoss)(void *);
    void (*upgrade)(void *);
    void (*DeleteIGamePlayer)(void *);
};


/*游戏者*/
typedef struct _GamePlayer GamePlayer;
struct _GamePlayer
{
    IGamePlayer gmplayer;   /*继承抽象游戏者*/
    char acName[10];
    void (*DeleteGamePlayer)(GamePlayer *pGamePlayer);
};


void login(char *pName, char *pPassword, void *pGamePlayer)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值