首页 时尚 演艺 游戏 八卦 音乐 影视 活动 热点 快讯 聚焦 综合 资讯
当前位置:首页 > 热点 > 正文

微资讯!最常用的设计模式

2023-04-22 11:51:44    来源:哔哩哔哩

Python是一种高级编程语言,它拥有丰富的数据结构和面向对象编程的特征。设计模式是一种通用解决软件设计问题的方法。设计模式不仅仅是代码,它还包括思维方式和解决问题的方法。Python与设计模式的结合,可以更好地解决软件设计中的问题和挑战。下面我将通过几个例子来介绍Python中的一些重要设计模式。

1. 单例模式

单例模式是创建只有一个实例对象的设计模式。在Python中,实现单例模式的方法是使用__new__()方法。这个方法会在创建类的实例之前进行调用,如果实例已经存在,就返回已有的实例。下面是一个单例模式的例子:


(资料图)

class Singleton:

__instance = None

def __new__(cls):

if cls.__instance is None:

cls.__instance = super().__new__(cls)

return cls.__instance

2. 工厂模式

工厂模式是一种创建对象的设计模式,它可以根据客户端的需求创建不同的对象。在Python中,我们可以使用工厂方法实现工厂模式。下面是一个工厂模式的例子:

class Dog:

def speak(self):

return "Woof!"

class Cat:

def speak(self):

return "Meow!"

def get_pet(pet="dog"):

pets = dict(dog=Dog(), cat=Cat())

return pets[pet]

d = get_pet("dog")

print(d.speak())

c = get_pet("cat")

print(c.speak())

3. 观察者模式

观察者模式是一种对象间的通信模式,当一个对象发生改变时,所有依赖它的对象都会被通知到。在Python中,我们可以使用观察者模式来实现事件处理,下面是一个观察者模式的例子:

class Subscriber:

def __init__(self, name):

self.name = name

def update(self, message):

print('{} got message "{}"'.format(self.name, message))

class Publisher:

def __init__(self):

self.subscribers = set()

def register(self, subscriber):

self.subscribers.add(subscriber)

def unregister(self, subscriber):

self.subscribers.discard(subscriber)

def publish(self, message):

for subscriber in self.subscribers:

subscriber.update(message)

pub = Publisher()

bob = Subscriber('Bob')

alice = Subscriber('Alice')

john = Subscriber('John')

pub.register(bob)

pub.register(alice)

pub.register(john)

pub.publish('Hello World!')

pub.unregister(john)

pub.publish('Hello Again!')

以上这些就是Python中几个重要的设计模式。这些模式可以帮助我们更好地设计软件,并且提高我们解决问题的效率。

请输入正文

猜您喜欢
  • 微资讯!最常用的设计模式
    微资讯!最常用的设计模式
    Python是一种高级编程语言,它拥有丰富的数据结构和面向对象编程的特征。设计模式是一种通用解决软件设计问 2023-04-22
  • ​冰墩墩登北影节红毯,却因走路太慢被催:能快一点吗?
    ​冰墩墩登北影节红毯,却因走路太慢被催:能快一点吗?
    2022北京冬奥会顶流偶像冰墩墩随电影《北京2022》主创今日亮相北影节红毯现场。短道速滑运动员武大靖和任子 2023-04-22
  • 环球新消息丨第二十一章 姐姐
    环球新消息丨第二十一章 姐姐
    看着曲歌爬起来,方义并没有偷袭,双手抱在胸前淡淡的说到:“小子,我劝你还是不要起来,不然待会我还要把 2023-04-22
  • 两大中锋的防守简直是一个比一个差,快船真是遇到大麻烦了?
    两大中锋的防守简直是一个比一个差,快船真是遇到大麻烦了?
    本场比赛后,拿下了两连胜太阳也将系列赛的总比分拉开到了2比1,他们也掌握了系列赛的主动权。本场比赛中, 2023-04-22
  • 1、当百姓勤劳却不能温饱,那么就没有必要再繁衍,自己当韭菜就算了,没有必要让后代
    1、当百姓勤劳却不能温饱,那么就没有必要再繁衍,自己当韭菜就算了,没有必要让后代
    1、当百姓勤劳却不能温饱,那么就没有必要再繁衍,自己当韭菜就算了,没有必要让后代再当韭菜。当某天没有 2023-04-22
  • 《女神转生》系列当年差点成为任天堂改编发行游戏 速看
    《女神转生》系列当年差点成为任天堂改编发行游戏 速看
    《女神转生》以及后来的《女神异闻录》系列都是游戏业界非常著名的品牌,而这个品牌在一起源阶段就经历过非 2023-04-22
  • 焦点讯息:斯嘉丽·约翰逊:不会再参演黑寡妇
    焦点讯息:斯嘉丽·约翰逊:不会再参演黑寡妇
    新浪电影今日(4月22日)消息,斯嘉丽·约翰逊近日表示:她不会回归漫威电影再出演黑寡妇了。约翰逊在格温 2023-04-22
  • 孑民
    孑民
    1、蔡元培(1868~1940)字鹤卿,号孑民,浙江绍兴人。2、他是中国近现代著名的民主革命家和教育家,为中华 2023-04-22
  • 小鹏回应“接亲车队开辅助驾驶出事”:有人故意抹黑-天天微资讯
    小鹏回应“接亲车队开辅助驾驶出事”:有人故意抹黑-天天微资讯
    中新经纬4月21日电21日午间,小鹏汽车官方微博回应“接亲车队开辅助驾驶出事”称,有人故意拿普通事故抹黑 2023-04-22
  • 多种因素造就理财产品“提前终止”相关信息应充分披露|全球新消息
    多种因素造就理财产品“提前终止”相关信息应充分披露|全球新消息
    羊城晚报全媒体记者戴曼曼银行理财产品在去年经历“破净”后又现提前“退场”现象。4月10日,中邮理财发布 2023-04-22
  • 《黑暗逃生》开发商World Makers获4百万美元资金 用于续作开发|当前热门
    《黑暗逃生》开发商World Makers获4百万美元资金 用于续作开发|当前热门
    游戏开发工作室WorldMakers在最近一轮融资中获得了400万美元的投资。MakersFund领投,而资金将被用于开发工 2023-04-22
  • 天天速看:《DOTA2》7.33更新后 Steam在线超过81万
    天天速看:《DOTA2》7.33更新后 Steam在线超过81万
    昨天《DOTA2》上线了“大展宏图”大更新(7 33),对地图、英雄、道具、玩法进行了全方面的改动。看起来这 2023-04-22
  • 孔子的叮咛:论语指导下的职场修炼 环球最资讯
    孔子的叮咛:论语指导下的职场修炼 环球最资讯
    1、《孔子的叮咛:论语指导下的职场修炼》是一本2009年中国发展出版社出版的图书。2、作者是张德中。文章到 2023-04-22
  • 焦点快播:北京市核心区多条公交升级服务品牌
    焦点快播:北京市核心区多条公交升级服务品牌
    原标题6路主打敬老服务59路成无障碍示范线……。核心区多条公交升级服务品牌。昨天,在北京公交集团电车分 2023-04-22
  • 满婷除螨洗发水旗舰店直播_满婷 全球要闻
    满婷除螨洗发水旗舰店直播_满婷 全球要闻
    1、一般按照人的想法是,香皂是清洁卫生的,但是一般来说香皂都是含碱性比较高的物品。2、“满婷”系列虽然 2023-04-22
  • 天天看点:云南省向基层兑现增收留用资金23.8亿元
    天天看点:云南省向基层兑现增收留用资金23.8亿元
    2023年,省级将继续安排增收留用资金,进一步加大奖补力度,助推全省经济运行整体向好。 2023-04-22
  • 新资讯:三款车型首次同框,上海车展极氪艺术馆引围观
    新资讯:三款车型首次同框,上海车展极氪艺术馆引围观
    4月18日,第二十届上海国际汽车工业展览会(以下简称“上海车展”)如期举办,各大车企也纷纷携旗下重磅车 2023-04-22
  • 千味央厨 新品渠道发力 业绩表现亮眼
    千味央厨 新品渠道发力 业绩表现亮眼
    千味央厨2022年实现营业收入14 89亿元,同比+16 9%;归母净利润1 02亿元,同比+15 2%;扣非归母净利润9634万 2023-04-22
  • 《DOTA2》7.33地形介绍:肉山搬家、12个新增野点|天天播报
    《DOTA2》7.33地形介绍:肉山搬家、12个新增野点|天天播报
    在DOTA2大展宏图7 33游戏性更新中,地图扩大了40%,游戏地形发生了天翻地覆的变化,增加了大量全新的建筑, 2023-04-22
  • 说谎歌词林宥嘉是什么歌_说谎歌词林宥嘉 全球热讯
    说谎歌词林宥嘉是什么歌_说谎歌词林宥嘉 全球热讯
    1、是有过几个不错对象说起来并不寂寞孤单可能我浪荡让人家不安才会结果都健忘我没有什么阴影魔障你千万 2023-04-22
  • Copyright © 2008-2015 当代娱乐网版权所有   Inc. All Rights Reserved.    联系邮箱:55 16 53 8 @qq.com  京ICP备2021034106号-22