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.

22 lines
1.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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