数学思维绝对有用,有用的程度取决你个人本身对数学认识的程度。计算机理论的很多词汇本身就源于数学。
比如每个对象都有函数,就是表面看起来没有,它也有默认构造函数。
在OO中,虽然我们用所谓哲学思维来构造对象,但最终对象如何构造的合理,那是要让对象之间行为有利于操作的,更是有利于计算的。
在OO中,你能说出行为/操作/方法/函数到底有什么区别吗?
然而他们都有潜在的实质。
函数公式大家都清楚:y = f (x) x属于定义域,y属于值域,f是function的简写.
写程序,你必然会关注输入,输出,在程序里输入输出的基本构成就是函数。x可看作输入状态数据,y当然就可看作输出状态数据。
在对象中,状态/属性/数据其实也说的是一回事。
回过头来看,对象中的属性和操作两部分,与y=f(x)有哪些相似性呢?
还有关于MVC, 多说两句,View称为视图层,视图其实就是状态数据+显示,状态数据就是x,y两部分,请求request是x, 响应respone是y.
Model称为模型层,那到底模型是什么呢?
从某种程度可以看作 y = f(x) ,再加上x,y所属的集合:定义域,值域。
control控制层起什么作用呢?就是根据客户那一边发起的输入状态以及相关信息,来指定服务那一边哪个模型去匹配,并控制模型向试图传回相应。
简单就这样讲讲。
至于数学思维具体在OO中怎么去应用,这都很难讲,因为这取决你用线性思维去思考,还是用发散思维去思考,而后者是和个人的思维特质和所能涉及的思维素材有密切关系的。
另外,数学本身这个学科的领域非常之广,所谓数学思维就可想而知了。
从一个侧面可以略窥一斑,古往今来有多少有着数学家身份的同时,还有这哲学家的身份:亚里士多德,莱布尼茨,牛顿,开普勒等等。你能区别开,这些人的思维是哲学的,还是数学的?