设计模式六大原则----------接口隔离原则

设计模式总览


接口隔离原则:

1、使用多个专用接口比一个庞大的接口好

2、类之间的依赖建立在最小接口上

实例分析
现要实现一个系统:有查询功能,新建记录功能,修改记录功能。对于不同的用户,使用权限也不同,一般用户只能查询,会员能新建记录,而超级用户能修改记录。下面看看如何实现

class System
{
public:
	void find();
	void create();
	void edit();
};

class user
{
public:
	void find(System* s);
};

class VIP : public user
{
public:
	void create(System* s);
};

class Super: VIP
{
public:
	void edit(System* s);
};
user只有访问权限,但却把整个System暴漏给了他。VIP没有编辑功能,而系统却将create功能暴漏给了他。这就违反了接口隔离原则。下面对他进行重构:

class System_user
{
public:
	virtual void find() = 0;
};

class System_vip
{
public:
	virtual void create() = 0;
};

class System_super
{
public:
	virtual void edit() = 0;
};

class System : public System_vip, public System_user, public System_super
{
public:
	void find();
	void create();
	void edit();
};

class user
{
public:
	void find(System_user* s);
};

class VIP : public user
{
public:
	void create(System_vip* s);
};

class Super : VIP
{
public:
	void edit(System_super* s);
};
现在,针对不同的用户,暴漏不同的接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值