有些疑问,golang支持面向对象的编程,为什么不使用面向对象进行编程呢?老师这里是出于什么样的思考呢?

来源:3-18 api之http middleware的实现与handler收尾(下)

_Zereker_

2018-08-01

比如,model模块。那些数据库操作,可以采用面向对象的方式进行操作

写回答

1回答

艾文西

2018-08-01

面向对象只是是一种思维

golang支持简单的面向对象,但是是不完整的OOP,比如多态和继承就实现的不好或者根本没实现

相反golang的编程思维提倡面向模块编程,也就是把单独功能的代码集合在一个package里,通过调用package来实现高内聚和低耦合。

那么现在回答你的问题,数据库操作为什么不做成面向对象。首先数据库的操作每一个都是原子操作,所有的CRUD实际上都是独立的没有必然耦合的,在这种情况下,面向对象从对象的创建,方法调用,到最后对象生命周期的管理,和可能要因为对象复用而采用一些设计模式等等制约条件来看,反而没有直接调用方法简单和容易维护,因此选择直接调用。

0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程