forked from p46318075/CodePattern
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.1 KiB
1.1 KiB
目标
本节使用一个书城的各种业务环节来展示面向对象的各种设计模式 。
任务
背景假设为一个综合书城,提供线上线下购买,还经营一个书吧、一个报告厅
说明
因为 Python 对象协议的机制,多态、接口概念发生了根本变化。 很多模式中,类的继承关系没必要了。下面示例中很多依旧保持了基类 一是致敬经典,二是起到一个工程上更工整强注释的作用
另外,Python的动态语言的特性 。使得一些C++、Java 的模式没用了。 比如 “ 原型模式(Prototype)” ,可以使用copy.deepcopy()非常简便来创建。
面向对象设计模式是软件工程中一组经过验证的、可重复使用的解决方案, 用于解决在设计和实现面向对象系统时经常遇到的设计问题。 面向对象的模式把编程过程中的一些思路套路固定化,并给一个名字方便理解 。 所以,模式不是语法,而是编程思路。 那为啥,面向过程没有这么做? 是因为这个思维提炼过程,充分利用了面向对象语言的特性:封装、继承、多态。