组件提供的方法应单一、简单且不失全面

一个专用组件该提供什么样的方法?功能强大、全面但复杂的方法?还是功能单一、粒度适当的基本方法?
    我会选择后者。看看下面的例子吧~~~O(∩_∩)O~~
    
    用户ID联想的方法由 icpebi.dll 提供,此组件的接口提供了
        STDMETHODIMP CHrBaseInfo::Query(BSTR bstrKey, BSTR* pbstrResults);
    方法,此方法返回的是查询到的XML,这是个基本、单一的方法。有没有必要将XML中的信息在 Query 中提取出来再返回呢?完全没必要,信息的表现形式千万种,以何种方式来表现,还是让用户自己去提取;若提取,反而把功能做的更死。
    用户ID还涉及到验证,而且是很常用的功能。是否把验证功能作为 icpebi.dll 的方法来提供,是值得思量的问题,因为借助 Query 在组件外部也能进行验证。对我来说,很难拿捏。于是把跟用户ID有关的动词都提取出来,“查询”、“验证”、“修复”,验证和查询属同一粒度,所以作为方法提供是可以的。
    验证一个用户ID是必须的,有没有必要提供验证多个用户ID的方法呢?要想提供此方法,有点复杂。多个用户ID验证,其结果有多种可能性,此方法的结果复杂性,让其不宜做为方法。借助单一的用户ID验证反而简单些,因此不提供。
    总之,组件的方法要单一、简单且不失全面性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值