组件化思路

现在被面试时,如果说自己不懂组件化,是会被面试官;

为什么组件化流行?
小的分析如下:
1.良好的组件化确实能提高项目开发的效率(代码质量和合作上体现的尤为明显)
2.公司人多,事少,为了找存在感,吹嘘,做完功能组件化再做业务组件化,然后工程组件化~~

说一下我对组件化的理解吧:
把组件化分为不同的层次:基础组件、资源组件、功能组件、业务组件和中间件.
最后还有一个App壳.

基础组件

(宏/常用变量(NSString NSFont UIColor...) 分类/工具类(权限/网络库))

资源组件

(图片资源(png/pdf)、文本多语言管理、)

功能组件

(轮播器/分享/统计/定位)

业务组件

(登录/注册 XXX) pod 集成(基础、资源、功能、第三方库等) 需求变动频繁的化,业务组件不一定要做.

中间件

(串业务)

App壳

(集成各个pod) 你项目的代码还剩下了什么?

我的想法可能和其他人不一样:
在做组件化的时候,尽可能的减少各个组件之间的依赖.
尽量少使用第三方库, No reason no excuses.

其实这些都是存在我们工程中的,大家以"Util"、"Vendors"、"Server"、 "Categories" 、"Resource"等字眼来命名的文件.抽出这些文件的功能代码,做成pod的形式,这样就是组件化.没有什么神奇,只是以不同的形式展示,对代码有了保护性,组件化的代码不允许工程直接修改,引用一个组件需要去pod,不断的组件化就是不断的减少工程代码(需要自己维护的业务性代码).

并没有多少的高深莫测,只是代码的不同的展现方式(优点:规范了组件的代码使用,一般组件化代码没有写的权限,具有保护作用,并实现简单的使用,一句pod搞定. 缺点:组件化代码出问题 升级略微有点繁琐),相信给你一天时间,你肯定能实现组件化要求.

为什么面试的适合要问组件化内,还装着一副牛逼哄哄的样子呢 so y...

你可能感兴趣的:(组件化思路)