摘要: 本文来讲解一下两个结构比较相似的行为设计模式:策?#38405;?#24335;和状态模式。两者单独的理解和学习都是比较直观简单的,但是?#23548;?#20351;用的时候却并不好?#23548;?#31639;是易学难用的设计模式吧。这也是把两者放在一起介绍的原因,经过对比和实例介绍,相信应该会一些比较深刻的感知。最后在结合个人的体会简单聊一下对这两个模式的一些看法。阅读全文
posted @ 2019-07-03 22:30 alpha_panda 阅读(237) 评论(0) 编辑
摘要: 装饰器模式主要对现有的类对象进行包裹和封装,以期望在不改变类对象及其类定义的情况下,为对象添加额外功能。是一种对象结构型模式。需要注意的是,该过程是通过调用被包裹之后的对象完成功能添加的,而不是直?#26377;?#25913;现有对象的行为,相当于增加了中间层。类似于python中的@装饰器。 下面还是按照老规矩,先来了解阅读全文
posted @ 2019-06-30 18:19 alpha_panda 阅读(196) 评论(0) 编辑
摘要: 观察者模式主要用于处理对象间的一对多的关系,是一种对象行为模式。该模式的?#23548;?#24212;用场景比较容易确认,当一个对象状态发生变化时,所有该对象的关注者均能收到状态变化通知,以进行相应的处理。本文希望通过简单的介绍和分析,能让读者对观察者模式有一个简单直观的认识和感知,以便在?#23548;?#24320;发中根据需要灵活运用。 1.阅读全文
posted @ 2019-06-29 20:26 alpha_panda 阅读(236) 评论(0) 编辑
摘要: 工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体的例子逐步深入分析,来体会三种工厂模式的应用场景和利弊。 1. 简单工厂模式 该模式对对象创建阅读全文
posted @ 2019-06-28 17:18 alpha_panda 阅读(194) 评论(0) 编辑
摘要: 适配器主要用于接口的转换或者将接口不兼容的类对象组合在一起形成对外统一接口,是一种结构?#38405;?#24335;,其本质是是一个中间件,适用于类及其对象。本文希望通过简单的介绍和分析,能让读者对适配器模式有一个简单直观的认识和感知。 1.目的 对现有的类的接口进行转换以符合新的需求。 2.动机 通过转换或者组合,间接复阅读全文
posted @ 2019-06-27 17:10 alpha_panda 阅读(239) 评论(0) 编辑
摘要: 代理模式的本质是一个中间件,主要目的是解耦合服务提供者和使用者。使用者通过代理间接的访问服务提供者,便于后者的封装和控制。是一种结构?#38405;?#24335;。 1.目的 为外部调用者提供一个访问服务提供者的代理对象。 2.动机 限制?#38405;?#26631;对象的直接访问,降低耦合度。 3.优缺点 优点: 低耦合 易扩展 灵活度高 缺点阅读全文
posted @ 2019-05-31 23:39 alpha_panda 阅读(191) 评论(0) 编辑
摘要: OpenCC全称Open Chinese Convert,是一个Github上面的开源项目,主要用于简繁体汉字的转换,支持语义级别的翻译。本文就来简单介绍一下该库的编译以及python、C++和JAVA?#30452;?#22914;何调用DLL进行转换。并记录一些使用过程中踩过的坑。 1.编译DLL 我们首先编译得到ope阅读全文
posted @ 2019-03-27 19:26 alpha_panda 阅读(595) 评论(1) 编辑
摘要: 标识符在许多领域主要用于标记用途。可以根据环?#31243;?#20214;等因素随机的生成一个ID,?#37096;?#20197;使用哈希算法或者消息摘要算法对对象生成一个唯一的固定长度的标记符。前者主要用于区分身份的标记,后者可以用于比较文件数据的一致性和重复数据的检测。 三种标识符 UUID uuid即通用唯一标识符(Universally 阅读全文
posted @ 2019-02-21 20:16 alpha_panda 阅读(554) 评论(1) 编辑
摘要: VSCode是MS推出的一款免费的开源并跨平台的轻量级代码编辑器,内置Git和Debug等常用功能,?#30475;?#30340;插件扩?#26500;?#33021;以及简单的配置几乎可以打造成任意编程语言的IDE。本文简单聊一下其本地attach和remote debug功能。 默认在vscode中打开py文件可以直接使用?#31995;?#35843;试,使用的Deb阅读全文
posted @ 2019-02-16 20:07 alpha_panda 阅读(1498) 评论(0) 编辑
摘要: 所谓异常指的是程序的执行出现了非预期行为,就好比现实中的做一件事过程中总会出现一些意外的事。异常的处理是跨越编程语言的,和具体的编程细节相比,程序执行异常的处理更像是哲学。限于认知能力和经验所限,不可能达?#36739;?#35299;释器下import this看到的python设计之禅一样,本文就结合?#23548;?#20351;用简单的聊一聊阅读全文
posted @ 2019-01-31 14:42 alpha_panda 阅读(596) 评论(1) 编辑
耐克篮球多少钱
双色球十大专家汇总色球预测号码 ag真人视讯互刷反水 平特一肖研究技巧 南粤36选7中奖 幼儿园足球教案 广东好彩1最快开奖结果记录 吉林快三大小单双压法 极限一码公式规律 代理彩票平台 福建31选7开奖查询结果 广西快3形态走势图一定牛 襄阳同城通比牛牛3000 黑龙江时时彩介绍 2019~2019斯诺克赛程 福彩3d试机号分析工具