【设计模式】外观模式&代理模式&中介者模式的区别

外观模式 个人理解: 子类继承外观类的所有属性方法,客户端只需要跟外观类进行交流,实现了对所有子类的封装。 没有使用外观类 如图: 应用外观类 如图: 代理模式 个人理解: 代理模式是将原类进行封装,客户端只需要与代理进行交流。代理就是原...

2019-03-19 10:47:45

阅读数 39

评论数 0

【设计模式】代理模式(Proxy)的应用场景

今天看了《大话设计模式》中代理模式一节,感觉应用那部分写的不详细,遂查了几篇代理模式应用的文章,总结一下,加深理解。文中可能有较多的错误,欢迎斧正。 代理模式的应用场景: 1、一个对象,比如很大的一张图像,加载前可以用一个占位的图像来替代。 2、一个过程计算需要等待很长时间,并且需要再计...

2019-03-13 15:07:28

阅读数 78

评论数 0

【shell】通过alias实现回调

function _echo_1(){ echo 1 } function _print(){ echo 0 } function do_process(){ eval "_print" } alias _print=&qu...

2019-03-06 16:10:02

阅读数 37

评论数 0

【C】——C利用回调函数实现多态

案例:   功能:可以根据用户输入的命令完成相应的功能;   例如: 用户输入  hello   完成输出 hello的功能。         用户输入  hi   完成输出 hi 的功能。 一般的写法可能会写两个函数来实现 输出 hello 和 hi 的功能,然后在根据用户输入的字符串与...

2019-02-12 14:43:42

阅读数 39

评论数 0

父 shell,子 shell ,export 与 变量传递

  当我们在一个 shell 里运行一个脚本程序时,该 shell 就会 fork 出一个新进程,从而启动了另一个命令解释器(由脚本中第一行的 #!/bin/xxx 指定,如 bash shell)来解释运行我们这个脚本。也就是说,这个新进程是一个子 shell,而之前的 shell 是个父 s...

2018-11-06 17:20:35

阅读数 397

评论数 0

[Mac]Shortcat

一、Shortcat简介: 这是一个能够让你在Mac OS X上使用键盘能够完成和代替更多鼠标操作的实用工具,Finder, Safari, Xcode, Textual, Skype, Calendar日历等应用程序的键盘操作都能完美支持,一般通过鼠标和键盘结合着来操作的话,平均要花三秒钟来把...

2018-08-24 23:27:01

阅读数 75

评论数 0

[Mac]开启鼠标键

如果你MacBook触控板坏了!可以拿去修!修理的期间怎么使用呢?别担心,今天小编就来教大家将键盘变成鼠标的方法!这样就不会耽误我们使用了,感兴趣的朋友一起去看看吧 MacBook的触控板纵使十分耐用,但随着Force Touch、Taptice Engine功能和规格导入之下,损坏的机会越来越...

2018-08-24 23:26:35

阅读数 2093

评论数 0

[mac]Mac多显示器之间的焦点切换

Mac多显示器之间的焦点切换 http://xuquan.me/blog/switch-multi-display.html       多显示器之间的焦点切换非常麻烦,每次码代码时需要切换到浏览器查资料都需要用鼠标点外接的显示器,需要切换回来写代码时又要用鼠标点回来,作为一名高效(搞笑...

2018-08-24 23:13:08

阅读数 1838

评论数 1

[linux]Cache过高解决办法

在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态:这里的默认显示单位是kb,我的服务器是128G内存,所以数字显得比较大。这个命令几乎是每一个使用过Linux的人必会的命令,但越是这样的命令,似乎真正明白的人越少...

2018-07-06 15:02:11

阅读数 913

评论数 0

[linux]free

free(选项)选项-b:以Byte为单位显示内存使用情况; -k:以KB为单位显示内存使用情况; -m:以MB为单位显示内存使用情况; -o:不显示缓冲区调节列; -s<间隔秒数>:持续观察内存使用状况; -t:显示内存总和列; -V:显示版本信息。实...

2018-07-06 14:27:56

阅读数 112

评论数 0

[python多线程编程] 使用互斥锁同步线程

#!/usr/bin/env python # -*- coding: utf-8 -*- import time, threading # 假定这是你的银行存款: balance = 0 muxlock = threading.Lock() def change_it(n): # 先...

2018-07-05 00:48:25

阅读数 406

评论数 0

[C++]虚方法

虚函数(虚方法)是C++动态联编 实现多态的重要手段,在函数声明时使用关键字virtual即可,如: virtual void func(void);注意:虚函数(虚方法)只针对类的成员函数,普通函数不可声明为虚函数!且一般只有在用到继承时才将基类的成员函数声明为虚函数!请看如下代码: 1 cla...

2018-07-04 19:59:12

阅读数 85

评论数 0

[Python]类属性

class Test(object):    clsAttr = 'as'    @classmethod    def clsMethod(cls, attr):        cls.clsAttr = attr    @staticmethod    def getClsAttr():   ...

2018-05-18 00:27:06

阅读数 276

评论数 0

[Python]How to create abstract properties in python abstract classes

How to create abstract properties in python abstract classesIn the following code, I create a base abstract class Base. I want all the classes that i...

2018-05-07 19:47:34

阅读数 167

评论数 0

[Python]Tornado异步原理详析

Tornado是什么? Tornado是一个用Python编写的异步HTTP服务器,同时也是一个web开发框架。 Tornado 优秀的大并发处理能力得益于它的 web server 从底层开始就自己实现了一整套基于 epoll 的单线程异步架构。 同步、异步编程差异 对于同步阻塞...

2018-05-06 23:07:28

阅读数 756

评论数 0

[Python]tornado 模板

tornado本身非常灵活,支持几乎所有python支持的模板语言。除此之外,它本身也提供了一个轻量级的模板,放在tornado.template中。 测试用例 代码清单1:tornado_template.py import tornado.httpserver import to...

2018-05-06 19:58:39

阅读数 533

评论数 0

[mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

正确的安装步骤: 1. 执行: $ brew install mysql 2. 在 /usr/local/etc/ 下创建或修改 my.cnf,示例: [client] port = 3306 socket = /tmp/mysql.sock default-character-s...

2018-05-06 19:03:37

阅读数 97

评论数 0

[Python]IO密集型任务 VS 计算密集型任务

IO密集型任务 VS 计算密集型任务 所谓IO密集型任务,是指磁盘IO、网络IO占主要的任务,计算量很小。比如请求网页、读写文件等。当然我们在Python中可以利用sleep达到IO密集型任务的目的。 所谓计算密集型任务,是指CPU计算占主要的任务,CPU一直处于满负荷状态。比如在一个很大...

2018-05-06 17:24:23

阅读数 893

评论数 0

[C++]linux编程 - C/C++每线程(thread-local)变量的使用

在一个进程中定义的全局或静态变量都是所有线程可见的,即每个线程共同操作一块存储区域。而有时我们可能有这样的需求:对于一个全局变量,每个线程对其的修改只在本线程内有效,各线程之间互不干扰。即每个线程虽然共享这个全局变量的名字,但这个变量的值就像只有在本线程内才会被修改和读取一样。 线程局部存储和线...

2018-05-04 16:29:13

阅读数 656

评论数 0

[C++]static_cast, dynamic_cast, const_cast探讨

首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换 又称为“标准转换”,包括以下几种情况: 1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转...

2018-05-04 15:11:34

阅读数 49

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭