20180222 , Objc.io_KV ◊◊ 面试,介绍项目



电商项目模块划分:

商品详情页, 多入口

BaseEnv模块:登录,网关,数据库,JSBridge,基础Catagory,Util等
Index业务模块:电商首页模块
Search业务模块:电商搜索模块
ProductDetail业务模块: 商品详情模块
Cart业务模块:购物车模块

电商项目难点:

面试了 20 个初/中级 iOS 工程师之后(上)

iOS面试

按模块,不如按组件

App架构设计经验谈:展示层的设计

比如一个电商App,可能会有首页、附近、分类、我的四大模块,工程结构也根据这四大模块进行划分,
同样的,iOS则分为四个分组:home、nearby、category、user。

之后,每个模块下相应的页面就放入相应的模块。那么,问题来了,商品详情页应该属于哪个模块呢?首页会跳转到商品详情页,附近也会跳转到商品详情页,分类也会跳转到商品详情页,用户查看订单时也能跳转到商品详情页。有些页面,并不能很明显的区分出属于哪个模块的。我接手过的,按业务划分的二手项目中(即不是由我搭建的项目),我要找一个页面时,我认为应该属于A模块的,但在A模块却找不到,问了同事才知道在B模块。类似的情况出现过很多次,而且不止出现在我身上,对业务不熟悉的开发人员都会出现这个问题。而且,对业务不熟悉的开发人员开发新的页面或功能时,如果对业务理解不深,划分出错,那也将成为问题,其他人员要找该页面时更难找到了。

因此,我更喜欢按组件划分的工程结构,因为组件每个人都懂,不管对业务熟不熟悉,查找起来都明显方便很多。

controllers 存放所有ViewController
cells 存放所有Cell,包括TableViewCell和CollectionViewCell
views 存放所有自定义控件或对系统控件的扩展
utils 存放所有的工具类

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,036评论 25 709
  • App架构设计经验谈:技术选型 App架构设计经验谈:接口的设计 App架构设计经验谈:数据层的设计 App架构设...
    前进的码农阅读 9,847评论 0 8
  • 190 琥珀 贾母的身边的丫头,贾母身边的丫头除了鸳鸯外就是这个出场最多,恐怕也是深得贾母喜爱的丫头。琥珀玲珑剔透...
    深巷梨花阅读 1,950评论 0 0
  • 1. 在我身边有着这样一些人,整日或是玩着手机,或是在别人学习的时候看着电视剧,或是沉浸在言情Or各种玄幻的小说中...
    弥鹿阅读 4,388评论 7 3
  • 去过几座城、到过几个国,正儿八经写游记还是头一回,想想岁月终会慢慢蚀去一个人的记忆,所以决定以这样的形式记...
    尼克Li阅读 4,583评论 6 51

友情链接更多精彩内容