浅谈框架设计

@[OC]浅谈框架设计

前言

这几天公司打算用php tp5框架开发新的应用,于是特意花了一天的时间看了看tp5的源码,由此才想对框架升入了解,并能根据具体的业务设计编写自己的框架。那么框架应当包含哪些方面的内容呢?它的组成是什么?怎么去设计和编写一个框架?

框架的设计思想

框架的设计思想大体分为三大类:
1.MVC模式,M为模型,V为视图,C为控制器。
在这里插入图片描述
2MVP.模式,MVP模式相对与MVC来说,将M与V相分离,中间以P负责逻辑的处理与的调度数据渲染。

3.MVVM模式则在php框架中利用的较少。

框架的生命周期

框架也必须遵循自己的运行规律,从产生到死亡。不过,这是由我们控制的,设计好生命周期,对后期的开发也是非常有利的,在现有的通用框架中,通常都会采用单一入口形式,进入生命周期,进入生命周期之后,就开始对生命周期设置周期事件,比如创建事件,销毁时间等。

框架应用具体场景与复用

框架具备的基础设施功能(缓存,数据库,试图渲染,安全过滤,路由系统,日志系统,文件操作,网络操作)。命名规范,路径标准规范入psr-0,PSR-1,PSR-2,PSR-3,PSR-4,数据结构规范以及加载规范框架新思路的探索。
明确好框架的用途是至关重要的,一个好的框架,自然是能够非常流畅地应用到具体的业务。其次,框架处理的问题是什么,哪些是框架该做的,框架该怎样构建,框架该以怎样的形式组建,该用什么样的方法去组建。这就涉及到一个描述问题,怎么描述框架处理的事务,明确好这一点,就可以大刀阔斧地开始框架的设计工作了。
对于框架的搭建,不得不提生命周期。框架也必须遵循自己的运行规律,从产生到死亡。不过,这是由我们控制的,设计好生命周期,对后期的开发也是非常有利的。在现有的通用框架中,通常都会采用单一入口形式,进入生命周期,进入生命周期之后,就开始对生命周期设置周期事件,比如创建事件,销毁事件等。那么我们该怎样描述框架处理的各个事务呢?如果按照oop思想,我们可以把各个事务描述成对象,比如请求事务,我们可以将其描述为请求对象,再比如缓存事务,我们则可以将其描述为缓存对象,应用则描述为应用对象等,这样,整个框架就是由一个一个对象构成,接下来该解决的是如何建立对象与对象之间的关系,更确切地说我们该如何调配这些对象?我通常知道,软件编写中的两个方法:自低向上和自顶向下。同样在这里,我们也可以应用此方法去思考。我们可以模拟用户操作后,框架运行的整个运行状态图来形象化框架的运行方式。用户的整个操作过程,就是应用的创建、销毁的一个过程,为此我们可以将应用对象作为上级调度对象,掌管着其它对象的生命周期。其它对象也有其自己单独的生命周期。确定好各个对象的周期以及各个对象之间的调度关系,我们就可以开始编写框架,之后就只是对其添砖加瓦了。

发布了10 篇原创文章 · 获赞 0 · 访问量 581

猜你喜欢

转载自blog.csdn.net/wweTHEUT/article/details/103302928