1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python的设计模式都有哪些 – PHP基础 – 前端 python 16进制

python的设计模式都有哪些 – PHP基础 – 前端 python 16进制

时间:2020-02-13 05:32:30

相关推荐

python的设计模式都有哪些 – PHP基础 – 前端 python 16进制

单例模式:Python 的单例模式最好不要借助类(在 Java 中借助类是因为 Java 所有代码都要写在类中),而是通过一个模块来实现。一个模块的模块内全局变量、模块内全局函数,组合起来就是一个单例对象了。模板方法模式:这个可以像其他语言一样实现,但是如果要遵循鸭子类型原则的话,应该删除公有的抽象父类(或接口),从而追求灵活性。工厂方法模式、

多例模式:这个也不用借助类,直接写一个全局函数作为工厂函数即可。因为 Python 中实例化是通过 call 类来完成的,现在改成 call 工厂函数,对客户抠码者是透明的。(从这点偶表示理解 Python 没有 new 操作符的好处了,使用通用的 call 定义,正交性极强)装饰器模式、代理模式:这个接触过 Python 就不会不知道了,Python 内置的 decorator 语法如此著名。装饰器模式和代理模式都可以通过这种方式完成。另外一种是对对象的装饰或代理,这个也不需要按照契约编程的风格,让代理对象实现被代理对象的抽象。一切动态代理,只需要通过重载属性访问操作符,神马都简单了(和 PHP 通过 __get、__set、__call 来实现动态代理很类似)。

原型模式:这个在 Python 中实现的不是那么爽快,需要调用 copy 来克隆原型对象。但是其实有另一种实现方式:之所以使用原型模式,是因为对象初始化需要较大开销。大家只需要保存初始化的结果,并在产生新对象的时候赋予新对象即可。所以,通过元类控制对象被创建的过程,来实现原型模式,也是一种选择。

有关更多人生哲理、技术干货、职场守则等新鲜、有趣、深刻的内容,欢迎大家关注江苏优就业自媒体旗下的自媒体工公号-江苏优就业(ID:jsujiuye)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。