红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
设计模式
Python

设计模式 with Python 5:单例模式

单例模式是一个相对简单的模式,但极为重要。 在我过往的工作经验中,这个模式相当实用,换言之,你可能会在项目中频繁看到,或者使用这个模式,但就像介绍前几个模式时候说的那样,我们需要保持清醒,不能为了使用模式而使用,而是要谨慎评估是否应该使用。当然这并不容易,而且往往比实现具体的设计模式更难。 好了,闲话少说,我们直接来看单例模式。 单例模式 所谓的单例模式就是为了确保只生成一个类实例的而生的模式。 这在使用访问修饰符的编程语言中很简单,只需要合适地使用访问修饰符和一个类方法即可: package pattern5.j…

2021年6月26日 0条评论 1226点热度 0人点赞 魔芋红茶 阅读全文
Python

设计模式 with Python3:装饰器模式

在撰写Python学习笔记系列文章的时候,函数装饰器和类装饰器提到过很多次,这也是Python编程中比较难理解和进阶的内容。当时我也顺便提到其本质是设计模式中的装饰器模式,那么今天我们就看一下经典设计模式中的装饰器模式到底是怎样的。 关闭开放原则 随着设计模式的学习深入,你就会发现设计模式的本质其实上是将复杂问题中的不可变部分和可变部分进行区分和封装,进而达到一种对不可变部分进行充分复用,对可变部分进行灵活扩展的程度。 当然,这在实际解决问题的时候你就会发现是一种相当理想化且极其艰难的事情,但好在我们已经有大佬们总…

2021年6月15日 0条评论 1225点热度 0人点赞 魔芋红茶 阅读全文
Python

设计模式 with Python2:观察者模式

虽然这个系列上一篇已经是在一个多月之前了:设计模式 with Python1:策略模式,但经过系统学习完《Fluent Python》,对Python这个语言的特性有了更深一层的认识,而且对于设计模式也是,就像《Fluent Python》的作者说的那样,设计模式虽然是一种编程语言无关的通用思想,但是具体到某种语言的实现本身,还是会无可避免地因为语言特性而变得天差地别(关于这点,在Python学习笔记23:Python设计模式中有详细说明。)。 所以,在接下来的本系列文章的撰写中,我会结合《Head First 设…

2021年6月13日 0条评论 1288点热度 0人点赞 魔芋红茶 阅读全文
Python

Python学习笔记23:Python设计模式

Python学习笔记23:Python设计模式 在阅读《Fluent Python》中关于设计模式的部分之前,我是坚信设计模式是语言无关的,至少在大部分常用编程语言中都可以比较好的运用。 在读完《Fluent Python》的相关章节后,我的想法有所改变,虽然经典的设计模式的确可以在大多数编程语言中实现,但是对于一些独特的语言,他们有更恰当更优雅的实现方式。 当然,这其中包括Python。 在接下来,我们会通过几个示例来比较经典的设计模式实现和Python式的实现,观察其中的差异。 策略模式 我曾经在设计模式 by…

2021年4月20日 0条评论 1065点热度 0人点赞 魔芋红茶 阅读全文
Python

设计模式 with Python1:策略模式

最近开始重新看《Head First 设计模式》,作为一个不错的练习,打算在整理设计模式笔记的时候用Python实现。 作为第一个介绍的设计模式,策略模式简单的同时相当实用。 在这里,我不打算采用书中的鸭子作为例子,我决定使用我喜欢的军事题材来描述,我们不做鸭子,造航母! 航母游戏 我们现在考虑如何做一个航母游戏,就相当于航母版的战舰世界吧,这里只有一类船:航空母舰。 我们考虑一下,航母最重要的共能无疑是起降战机,目前世界上的现代航母,无非采用以下几种方式起降: 弹射起飞阻拦着舰,比如美帝的尼米兹系列。 滑跃起飞阻…

2021年4月19日 0条评论 1301点热度 0人点赞 魔芋红茶 阅读全文
12

魔芋红茶

加一点PHP,加一点Go,加一点Python......

专栏
  • SpringMVC 学习笔记 SpringMVC 学习笔记
  • MySQL学习笔记 MySQL学习笔记
  • Spring Boot学习笔记 Spring Boot学习笔记
  • Java编程笔记 Java编程笔记
  • php学习笔记 php学习笔记
  • Go语言编程笔记 Go语言编程笔记
  • 设计模式 with Python 设计模式 with Python
  • Linux之旅 Linux之旅
  • 腾讯云博客搭建 腾讯云博客搭建
  • HTTP学习笔记 HTTP学习笔记
项目
  • M3U-Helper M3U-Helper
  • Markdown-img Markdown-img
  • PEP中文翻译项目 PEP中文翻译项目
工具箱
  • 我的Windows软件列表 我的Windows软件列表
点歌台
最新 热点 随机
最新 热点 随机
Redis 学习笔记 7:达人探店 Redis 学习笔记 6:消息队列 Redis 学习笔记 5:分布式锁 Redis 学习笔记 4:优惠券秒杀 Redis 学习笔记 3:黑马点评 Redis 学习笔记 2:Java 客户端
Redis 学习笔记 4:优惠券秒杀Redis 学习笔记 5:分布式锁Redis 学习笔记 6:消息队列Redis 学习笔记 7:达人探店
[转载]用它无损放大图片,轻松提高图片清晰度! 使用Windows Terminal进行SSH连接 Go语言编程笔记1:Hello World 从零开始 Spring Cloud 1:搭建项目 MySQL 学习笔记 3:Event Maven 简易指南
最近评论
fuckbaidu 发布于 3 年前(02月26日) 兄弟,你新网址一直没备案成功
啊长 发布于 3 年前(12月17日) 膜拜大佬了,希望越做越好 :exclaim:
nfmd 发布于 4 年前(11月01日) 腾讯云出了个60块六年多的bug
nfmd 发布于 4 年前(10月30日) str.replace("逻辑", "罗辑")
fuckbaidu 发布于 4 年前(10月14日) 并不是所有的文件都能通过软链接转移,比如chrome浏览器,你要是转移了,就不能自动更新了
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号