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