用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3577|回复: 4
收起左侧

[优化] 关于lib层的讨论

[复制链接]
发表于 2013-6-23 00:00:35 | 显示全部楼层 |阅读模式
我在用CI的时候,为了让controller层更加清晰、简洁,采用lib层作为controller层和model的“桥梁”。
以注册为例,controller层负责从View层得到$email,$password等数据,然后对$email等进行安全验证之类的处理。然后调用library里面的方法,来实现将$email等数据存储到表中(library调用相关的model层方法),并生成相应的激活码,之后再将激活码返回到controller层,controller层的方法再调用library中发送邮件的方法来发邮件。
不知道这样设计是否合理?
也就是controller负责大的逻辑,一些比较细节的逻辑由lib层来实现~
发表于 2013-6-24 10:47:53 | 显示全部楼层
這麼做會很耗工,
沒有比較簡潔.
发表于 2013-6-24 11:24:26 | 显示全部楼层
能解决问题的架构就是合理的好架构~
发表于 2013-6-25 14:58:32 | 显示全部楼层
Hex 发表于 2013-6-24 11:24
能解决问题的架构就是合理的好架构~

這麼說是沒錯,
只要不考慮往後的維護,
及再次的擴充或修正功能.
发表于 2013-8-26 11:57:10 | 显示全部楼层
嗯,我也遇到类似的问题。现在也没有好的解决方法。
按照CI的设计来看,lib库主要是引入第三方的库文件。
如果把业务逻辑写入到里面的话就很不方便了。
建议:扩展一个类似lib的文件夹,命名business,然后把所有的公共的业务逻辑,
或者复杂的业务逻辑写到这里面。然后接口调用。

本版积分规则