每天感觉有好多想和各位分享的,可是每天回家都这个时间,想写一些准备比较充分的文章分享给大家,总是心有余而力不足,最近一直在收集iOS开发中经常遇到的问题,过断时间总结出来与大家分享!
一直用了很多优秀的三方框架,用的过程既帮我节省了很多的时间,又学到了很多自己不会的技术,在此我向这些喜欢分享的开发者真诚的说一声谢谢
今天来谈谈我个人对设计一个的三方库的一些看法,我也算个小白吧,希望哪里我有说错的地方忘朋友海涵与纠正
- 首先是接口的设计我觉得是框架中很重要的环节之一
- 接口需要提供给外界够用的方法,并且接口的命名与参数名一定要规范,因为接口是外界于框架沟通的通道,好的接口让人一目了然,看到接口名就知道方法的功能,并且外界提供够用的接口,但是要想清楚哪些需要哪些不需要,并且接口的名称如果已经发布了,就不要轻易改动,改动会照成使用原来版本的开发者在更新框架的时候旧项目会各种报错,相信朋友们也能理解这种纠结的心情,如果实在需要改动,建议使用苹果的做法,将以前的方法标记为过期,提示用户更换接口,具体代码如下
- (void)oldMethod NS_DEPRECATED_IOS(2_0, 3_0, "此方法已经被弃用,请用newMethod方法")
- 第二点是要想清楚参数被多次赋值多次调用setter方法会有哪些影响,如果参数传入不正确或者nil的时候做好相应的处理,如在setter方法中有控件去添加子控件,再次调用setter方法是否应该清除之前的子控件,这里有一个数组的方法我个人一直觉得很好用,数组中的每一个对象调用某个方法
[array makeObjectsPerformSelector:@selector
(removeFromSuperview)];
第三点是要考虑到哪些属性可以对外暴露,哪些属性不应该对外暴露,要想清楚提供的属性是否够用
第四点尽可能提供足够多的注释,很多时候框架也许会无法满足开发者,此时足够的注释会使开发者快速的了解框架的code,以便修改code达到开发者的需求
第五应该合理的利用设计模式,该用代理的时候就代理,该通知时候就用通知,合理的设计模式会使code的可读性以及框架的稳定性大大提升,降低耦合性这里建议朋友可以看看这几年很火的MVVM
第六就是细心,要考虑的非常周到目前就想到这么多了。再次谢谢那些喜欢分享的同行们
暂时就想到了这些,不知不觉又快俩点了,下午写了一个小的框架,比较简单希望可以帮组朋友节省一些开发时间,如果我写的有什么不足之处希望大家可以指出
项目链接:https://github.com/ZhongTaoTian/WNXPageView
希望大家给个star哈哈-;