09 2018 档案

摘要:访问者模式 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 介绍 意图:主要将数 阅读全文
posted @ 2018-09-17 10:54 北风之神0509 阅读(629) 评论(0) 推荐(0) 编辑
摘要:之前已经发过单独的缓存,这也算一种模式。 阅读全文
posted @ 2018-09-17 10:54 北风之神0509 阅读(530) 评论(0) 推荐(0) 编辑
摘要:迭代器模式 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 介绍 意图:提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(631) 评论(0) 推荐(0) 编辑
摘要:中介者模式 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 介绍 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(389) 评论(4) 推荐(0) 编辑
摘要:备忘录模式 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 介绍 意图:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 主要解决:所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(292) 评论(0) 推荐(0) 编辑
摘要:class QueueObject(): def __init__(self, queue, auto_get=False): self._queue = queue self.object = self._queue.get() if auto_get else None def __enter__(self): if... 阅读全文
posted @ 2018-09-17 10:53 北风之神0509 阅读(1650) 评论(0) 推荐(0) 编辑
摘要:桥接模式 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 我们通过下面的实 阅读全文
posted @ 2018-09-17 10:52 北风之神0509 阅读(692) 评论(0) 推荐(1) 编辑
摘要:设计模式上大的方向上分继承和组合,就是类模式和对象模式。此篇的组合模式非继承和组合概念中的组合。桥接 策略 代理 装饰者都用了组合,此组合非彼组合。 组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象, 阅读全文
posted @ 2018-09-17 10:52 北风之神0509 阅读(639) 评论(0) 推荐(0) 编辑
摘要:1、默认是无界队列,如果生产任务的速度大大超过消费的速度,则会把生产任务无限添加到无界队列中,这样一来控制不了生产速度,二来是会造成系统内存会被队列中的元素堆积增多而耗尽。 2、改写为有界队列 这个很容易测试验证,消费函数里面来加个time.sleep,如果使用ThreadPoolExecutor会 阅读全文
posted @ 2018-09-12 15:37 北风之神0509 阅读(2127) 评论(0) 推荐(0) 编辑
摘要:1、一切数据库操作最好使用内网连接, 2、使用批量操作接口操作数据库,而不是多线程频繁操作单条数据 3、如果python进程的cpu使用率达到100%了,需要开启多进程。java单个进程cpu使用率在32核处理器上可以达到3000%以上,python单个进程职高只能100%,要想加速必须修改代码使用 阅读全文
posted @ 2018-09-11 11:36 北风之神0509 阅读(486) 评论(0) 推荐(0) 编辑
摘要:1、一些装饰器,可以减少重复编写。比较常用的。 用的时候函数上面加上装饰器就可以。这是一些装饰器,加在函数或者方法上,减少了很多重复代码。 除此之外工作中也用一些mixin类大幅减少代码。 2、都是常规的,有带参数和不带参数的装饰器。其中where_is_it_called装饰器比较复杂一点,只要函 阅读全文
posted @ 2018-09-06 19:25 北风之神0509 阅读(468) 评论(0) 推荐(0) 编辑
摘要:如下supervisor的进程的comand配置参数只能写一个命令 1、要执行多条命令,可以写个sh文件包含多条命令,然后sh -x xxxx.sh,但这样又多了一个文件, 2、把所有命令放在字符串,然后用eval来执行,这样在shell窗口可以执行,但放在supervisor报找不到eval命令。 阅读全文
posted @ 2018-09-05 14:51 北风之神0509 阅读(10756) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示