最新消息:文章中包含代码时,请遵守代码高亮规范!

php项目开发对于得到实体的认知【原创】

PHP Jay 1789浏览 0评论

前言:

实体是客观世界中存在的且可互相区分的事物。实体可以是人也可以是物体实物,也可以是抽象概念。在项目开发中,我们要将一张张表看做一个个实体,对其属性,行为以及生命周期进行分析,最终通过组织代码让他们彼此联系起来。

参考表结构【文章表】:

粘贴图片

一:实体的基本属性和拓展属性

基本属性:常用的共有的属性

拓展属性:数据量大,不常用的属性

用法:

以参考表为例 id,title,  type , introduction, likenum(点赞次数) , image 这些属性在读取文章信息时常常用到,所以可视为基本属性,可以写一套方法对其管理,

其中SQL写法:

SELECT id , title, type, introduction, like_num FROM table

而 content, admin_id(发布者)属于需要进一步研究这篇文章时才会使用到,为实体的拓展属性,所以可以单独写一个方法进行获取,

其中SQL写法:

SELECT admin_id  FROM table WHERE id = ? 

SELECT  content FROM table WHERE id = ?

这里有两点需要指出来

1:用写好的方法来得到数据库的数据,一定程度上要比根据具体情况写单独的SQL语句要慢些,但是在项目的维护和拓展上,后者与前者没有可比性,如果需要特殊处理,也可以特殊变通。

2:对于拓展属性我写了两条SQL 语句,目的在于拓展属性很难同时使用到,有时候仅仅使用其中的几个,所以可以根据具体的情况,来写获取的方法,不然就会浪费资源,影响速度。

 

二:实体的生命周期

生命周期:简单的说是一个实体从生到消亡过程中的各个阶段

理解和意义:就拿商品来说,有上架,下单,发货,使用以及售后等等状态,对于一个实体生命周期的了解程度往往决定了数据库以及项目的健壮性拓展性,简单的说:不光光在设计数据库的时候要

充分考虑,在项目中也要充分的了解各个阶段实体的不同特征,从而合理架构。

 

三:实体的行为

行为:程序上通俗的理解,行为是一个能动实体的操作。例如用户管理员这些为人的抽象实体。其实广泛的理解,还应该包含实体与实体的关联,例如销量和库存应该同步,这些隐形的关联也很重要,而这些

常常被忽略。

结尾:

为了更好的理解,运用以及管理实体的属性,行为以及生命周期,为每一个实体创建一个实体类是很有必要的。

最后需要强调的是:这篇博文,其实在阐述从实体角度来思考如何架构项目,并不仅仅只是在介绍面向对象编程的基本思想。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/17667.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Jay的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情