设计理念-数组的褒与贬

         

【发布时间】:2022-02-20 11:38:15

【原创作者】: 开店笔记

  • A+
所属分类:杂谈笔记

设计理念-数组的褒与贬

对于PHP开发者来说,数组是非常舒服的一种数据结构,方便,自由,灵活。但是这种数据结构对于以PHP为入门语言,并且一直从事PHP开发的一类开发者来说,并不是好事,他们会缺少针对属性,实体相关的设计思路,认为一切皆数组,如下图《PHP数组传递》。严格的数据类型,整齐的数据类型约束,他们不会理解,并且很难赞同,如下图《c#实体》。

优秀的设计思想应该是应该以对象的角度看待事物,分析业务,而不是临散的属性,随意的数组。而你在附属于框架,服务于业务时,势必要做些妥协。

PHP数组传递

之前在阅读go语言代码时,发现go语言中的结构体和C#语言中的实体使用思路有很大相似之处。

c#实体

层次之间参数传递
层次之间参数传递集中反映了数组与对象的差别
按照PHP开发者经验和习惯,层次之间传递的是数组,优点自然是方便,灵活,缺点是对于方法签名来说缺少固定的业务语义约束,不明确。
按照Java或者c#严格面向对象语言开发者的经验习惯,层次之间传递的是对象或者实体,实体可以作为容器在层次之间传递,而没有层次给予的职责约束。也就是在传统的三层开发模式中,任何一层都可以使用实体,实体包装的是对象属性。
关于实体和模型的区别不在这篇文章的讨论范围内,后续我会单独写文章叙述这两个概念以及用法的区别。
以免引起语言争论,这里补充一个观点,语言之间各有所长,应该使用到最适合的场景上。应该看到每种语言的优势,而不是做无谓的比较

阅读原文

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: