咨询热线:400-818-1122
首页
致远软件专题首页 > 最新发布
人脸识别软件开发对脸部有要求吗?
上传日期:2019-06-12 09:22 文章来源:

有些人(包括Martin Fowler),质疑贫血模型会导致人脸识别软件开发偏离面向对象的轨道。理由是,由于贫血对象的存在,人脸识别软件开发好像以数据为中心的模式会卷土重来,Service层会变得更加面向过程。我同样不赞成这个观点。动态信息也具有丰富的对象化特征。只要换个角度来看待这个问题,就会发现这个疑惑是多余的。 

我倾向于认可贫血对象。实际上,以上所有关于信息和对象的讨论,都是为了这种倾向而做的理论上的辩解。在软件开发实践中,有很多例子支持贫血对象的合理性。 在软件开发实践中,使用贫血对象有很多好处。第一个好处是,有利于信息交换。企业之间交换的信息往往都是静态信息。相对来说,要进行动态信息的交换有点不太现实,因为很少有两家企业的行为是完全一样的。例如,A保险公司在计算保费时必须进行分期处理,而B保险公司没有这个要求,在这种情况下如何交换行为信息呢? 第二个好处是,清晰了对象的职责。

如果要在实体对象(贫血对象)中添加行为(动态信息),就必须考虑哪些行为是可以添加进去的、哪些行为应该另行处理。这种考虑的模糊性,给软件开发实践带来了很多未知的风险。 第三个好处是,实体对象(贫血对象)的实现更加灵活。我们可以用Schema来定义对象和对象之间的关系。一个XML实例就是一个实体对象。 第四个好处是,可以确保实体对象(贫血对象)只能在内存中用于计算。这种做法简化了计算模型,下一节我们会讨论这个问题。

而添加了行为的对象,是无法做出这种保证的。在实践中,我经常遇见在行为中直接去访问数据库的做法。这种错误的做法,使单元测试也成为一件困难的事情。老实说,我曾经认真地思考过这个问题,我的解读是,当在实体对象中添加行为时,行为的实现者很难面向静态信息模型(实体对象以及实体对象之间的静态关系)来思考。

这也许就是所谓的“不识庐山真面目,只缘身在此山中”。我们只有站在动态模型(数学规律)的角度来看人脸识别软件开发,才能理解这样一个道理——客户信息软件就是领域模型和基于领域模型的计算(计算模型)。 所以,在我看来,人脸识别软件开发分为两个部分:一个是静态模型(贫血对象模型),一个是动态模型(行为对象模型)。 在这些年的软件开发实践中,我接触过一些领域的标准,例如,ACORD、IAA 等。

 

免责声明:网站内涉及到图片及相关文字如涉及到侵权,请及时联系我们处理
< 返回列表
最新发布推荐
致远服软让IT更简单,更安全,更有价值
咨询热线:400-818-1122