关于pytho面向过程开发人员三步转oo的补充,再加一步,四步走战略

Posted ydf0509

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于pytho面向过程开发人员三步转oo的补充,再加一步,四步走战略相关的知识,希望对你有一定的参考价值。

1、之前写的这个很久了 

 

里面提到的是三步走:

模块和类的转换规则是:

1、模块级降为类

2、全局变量改成实例属性,全局的不会被改变的变量类似于那种const的,可以写成类属性(减少点内存存储可以)。

3、然后把函数改成方法。方法是类里面的,函数是模块里面的。

 

因为里面举得一个例子是一个人,但人的属性写的是模块级全局变量,如果是这种写法,三步走就可以oo了。

 

2、但现在的情况是很多人不喜欢写全局变量(不写全局是为了尽可能模拟多实例,不可能用全局变量,因为全局变量只有一份而且运行结果是从入口函数传参得到结果,不希望修改顶层代码,所以才会出现尽量少写全局变量这种现象了),喜欢一步一步一环套一环的传参和return来处理业务,那么这种写法,如果按照上面的三步走战略,就不行了,因为只执行这三部,这样做是没有个卵用的,只是有了class外壳,但丝毫没有封装的概念。我最近就看过一些这样的类,写的貌合神离,貌像面向对象,但神是面向过程,这种类当然是十分的没必要,因为没有体现出面向对象带来的任何优点,也没任何意义了,执行这三步价格class关键字,只不过是脱了裤子放屁。

如果是这种思维来写的面向过程,那么三步走还不行,需要重新构思整个流程,即在代码里面少return少传参,多用全局变量,按照这个思路在脑袋里面过一遍,这一步是发生在脑袋里面的,不是让你真在代码写全局变量,是为了先构思出来有哪些全局变量,然后再接着上面的三步走战略降级命名空间,就是oo了。

所以这个前置的发生在脑袋里面的过程是不能少的,这一步是整个精神支柱 ,后面三步是修改代码面貌。

 

那么总结一下就是四步走了:

0、脑瓜里面构思,你的面向过程的return 传参,有哪些尽可能多的是可以弄成全局变量的,这时候不用考虑全局变量是不是需要多份的,因为后面在三步走降级的时候,这个玩意自动变成了实例属性,而每个类的实例的的属性都是互不干扰的,除非了你刻意写了单例模式。

1、模块级降为类

2、全局变量改成实例属性,全局的不会被改变的变量类似于那种const的,可以写成类属性(减少点内存存储可以)。

3、然后把函数改成方法。方法是类里面的,函数是模块里面的。

第0步发生在脑袋里面,后面三步发生在代码编辑器里面。

 

面向对象本质是方法和属性的封装,如果把属性绑定全部改为外界传参给方法,那写这样的类,基本上是没个鸟用废了类的80%功能,只不过是加个class外壳罢了,。

以上是关于关于pytho面向过程开发人员三步转oo的补充,再加一步,四步走战略的主要内容,如果未能解决你的问题,请参考以下文章

oo第三阶段总结

OO第三次Blog

关于传统的软件开发方法在实际软件开发过程中的使用情况

李洪强iOS开发之OC语言基础知识

OO第三阶段总结

面向对象再探究