栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

python设计模式笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python设计模式笔记

文章目录

1. 概述

1.1 概念1.2 代码1.3 结果 2. 面向对象设计原则

2.1 设计原则2.2 设计模式分类

1. 概述 1.1 概念

设计模式:对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。每一个设计模式系统地命名,解释和评价了面向对象系统中一个重要的和重复出现的设计

推荐书籍:设计模式:可复用面向对象软件的基础面向对象三大特性:封装,继承,多态接口:若干抽象方法的集合;作用:限制实现接口的类必须按照接口给定的调用方式实现这些方法,对高层模块隐藏了类的内部实现。 1.2 代码

# 1.导入抽象基类,让子类必须要实现该方法,
#  只是抽象方法,并不实现功能,只能继承,不能被实例化
from abc import ABCmeta, abstractmethod


# 2.定义接口类
# Payment 是一个抽象类,定义了一个pay的抽象方法
# 通过抽象方法,可以规范其子类在用此方法的接口规范
class Payment(metaclass=ABCmeta):
	@abstractmethod
	# 定义接口抽象方法
	def pay(self, money):
		pass

# 3.定义子类Alipay来继承接口抽象类
class Alipay(Payment):
	# 子类继承父类方法,接口保持一致
	def pay(self, money):
		print("alipay=%d" % money)


# 4.定义子类Wechatpay来继承接口抽象类
class WechatPay(Payment):
	def pay(self, money):
		print("wechatpay=%d" % money)


# 5.实例化子类对象
alipay_test = Alipay()
wechat_test = WechatPay()

# 6.调用子类的方法
alipay_test.pay(200)
wechat_test.pay(100)
1.3 结果
alipay=200
wechatpay=100
2. 面向对象设计原则 2.1 设计原则

开放封闭原则:一个软件实体如类,模块和函数应该对扩展开放,对修改关闭,即软件实体应尽量在不修改原有代码的情况下进行扩展。里氏替换原则:所有引用父类的地方必须能透明地使用其子类的对象依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象。换言之,要针对接口编程,而不是针对实现编程。接口隔离原则:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口单一职责原则:不要存在多于一个导致类变更的原因,通俗的说,一个类只负责一项职责 2.2 设计模式分类

创新型模式(5种):工厂方法模式,抽象工厂模式,创建者模式,原型模式,单例模式结构型模式(7种):适配器模式,桥模式,组合模式,装饰模式,外观模式,享元模式,代理模式行为型模式(11种):解释器模式,责任链模式,命令模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,访问者模式,模板方法模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号