站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/业务数据封装
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} 在[[数据库]]高级开发中,我们可以通过“封装业务数据”来增强[[应用程序]]的扩展性和重用性。 ==业务数据封装== 封装业务数据是将部分常用的、复杂的数据运算封装到spModel的子类(数据模型类)中,从而达到以下多个目的: *减轻控制器[[代码]]量,使得用户与系统交互过程更清晰。 *复用代码,应用系统的“业务”是“领域通用”的,一次编写可以在多处使用,甚至是移植到第二个系统中使用。 *架构清晰,有利于快速开发。 *分工明确,可以分配专人负责开发并维护业务代码,架构设计者只需要规范接口[[数据]]即可。 *在[[编程]]过程和[[二次开发]]中,出现问题将很轻易可以定位(业务逻辑问题或交互问题),从而增强应用程序健壮性。 *易于维护,业务逻辑升级将只需要保持类库接口的兼容性,即可不做过多的工作可以升级到新版本。 *开发人员认知一致,不会因为系统交互的修改(控制器范畴)而失去对业务逻辑的把握。 *业务迭代性强,开发者只需要知道接口的使用方式而不需要考虑业务实现细节即可完成工作。 ===spModel模型类=== 在[[SpeedPHP]]框架中,spModel模型类是第一层的业务封装,spModel封装了大部分日常对数据库的直接操作,使得开发者可以直接调用这些封装的业务。所以,在大多数情况下,spModel的子类(模型类)都不需要进行封装。 可以考虑封装业务数据的情况: 1.当业务逻辑非常复杂,不能直接通过spModel的操作来实现的功能,为了控制器端清晰和更有条理,可以考虑将这些业务操作封装起来。 2.在整个应用程序中,使用得比较多的功能,如在create操作中填充当前时间的字段,update操作中填充更新时间的字段等的时候,可以考虑覆盖spModel的create和update等操作(继承),加入这些功能。 3.当业务逻辑经常被重用的时候,如用户登录验证、注册写入等操作的时候,可以考虑封装,以便在第二个应用程序中复用。 4.在SpeedPHP框架的优化建议中,在经常使用到的业务逻辑中(如首页多分类前十文章显示),可以考虑将其封装起来,以便spCache(函数缓存器)进行优化的缓存。 在SpeedPHP框架的扩展中,业务封装也同样重要。在上面提到的“当业务逻辑经常被重用的时候可考虑封装”,就是扩展类业务封装的主旨,扩展类实际上就是一些供开发者多次重用的[[代码]]片段。 ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|Y]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)