Posted by:
努力记

努力记,通过记录,计划,让自己的努力可以触碰彩虹!

4,849

PHP开发框架思考

  • 2013-05-13
  • 暂无评论

在编写框架的过程中,详细查阅了设计模式,下面写下一些思考

设计模式是针对面向对象程序设计的(大多数的起因是面向对象的程序设计需求)

面向对象有3个基本特征:封装(最基本,用类描述事务),继承多态

设计模式大多是合理化的利用这3个特征进行程序设计

框架中的使用

我设计的框架中在结构上有MVC的影子,但其实MVC并不是固定的结构,真实结构只有M和T,M是所有的业务逻辑,T是除业务逻辑外的所有工具(template:view,route,db)等

目前开发中逐步使用到了Controller,其目的在于做输出数据的内容获取,并且通过继承不同的Controller父类实现不同的输出方式。(使用了命令模式,中介者模式:路由解析,模板模式:controller父类)

注:WEB开发中,因为浏览器的原因不可避免的需要View的存在,已进行非开发代码的页面展示代码编写(HTML+CSS+JS),这也是MVC比较热门的原因,适应了WEB开发,WEB开发正好是当前开发潮流。

WEB开发中通过URL及Cookie获取访问状态(HTTP是无状态协议),所以使用了Route及Controller来处理URL的分发进行结构化开发

主要说明的是M,也是我们工作中涉及到最多的一块,M定义的是业务逻辑,并提供了DB(类似桥接模式,但并不完全相同)来处理数据层的操作接口

目前在编写M的时候还是过多的只把该层当成数据层进行接口操作,并没有将业务逻辑进行整合,将业务逻辑放置在了Controller,从而导致M的内容单一,直接复制粘贴

需要在M层中进行设计模式的运用,才能更好的进行程序设计

在进行业务分析的同时,才会将数据库的作用逐步降低,降低程序的复杂度,用更好的结构模型来替代传统关系型数据库的行模式

设计模式的定义可以将一般的业务问题更容易贴近事物的本质,从而从另一个层面减少硬性编程,因为编写的代码是对具体问题的抽象,在问题变更时不至于需要推翻重来,在现实的结构中早已有了相应的扩展表现。



back up ↑

无觅相关文章插件,快速提升流量