搜索到与相关的文章
编程技术

设计模式之--组合模式

有时候我们需要维护一些对象,这些对象具有一定的层次结构,它们之间虽然差异很大,但在使用的时候我们希望能构一致的对待,比如Windows控件,绘图中的图形等,这个时候我们就可以采用组合模式来进行管理。组合模式就是将要管理的对象按树型结构来进行组织,表示成一种“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式的结构图如下:角色:组件接口:提供一致的访问接口,注意组件接口可以是抽象类,也可以是具体类,还可以用接口实现;组合对象:含有

系统 2019-08-29 22:04:40 2295

编程技术

到底是传值还是传引用?

发现关于java中值传递还是引用传递,一些误解挺多的,我的观点(其实也不是我的观点,咱都是二手贩子)就是java中只有值传递;来吧,咱从头来捋一下,本山大叔在卖拐里不是说了嘛,乱了咱就捋,从头捋一下。1.啥叫值传递,啥叫引用传递。在编译原理中,我们会看到参数的传递有四种,定义如下:Passbyvalue:ThisisthemechanismsupportedbyC.Valueofparametersarecopiedintocalledroutine.Pa

系统 2019-08-29 21:58:50 2295

编程技术

23种设计模式(5):原型模式

文章来源:http://blog.csdn.net/zhengzhb/article/details/7393528定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口

系统 2019-08-12 09:29:31 2295

各行各业

Centos安装Memcache

Memcache概述官方Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。+个人理解1.它是基于C语言的Libevent库进行开发的2.Memcache是一款C/S软件,这款软件是维护内存的.3.是将数据在内存中使用,从内存中读取要比从硬盘中读取要快.4.读取内存会减少对I/O设备的调用,从而加大访问速度.

系统 2019-08-12 09:27:12 2295

各行各业

知名应用背后的第三方开源项目

InstagramAFNetworking:适用于iOS和OSX的网络框架。Appirater:提醒用户打分。ASIHTTPRequest:简单使用CFNetworkAPI封装进行HTTP网络请求,用Objective-C编写,可应用在MacOSX和iOS开发中。CocoaHTTPServer:用于MacOSX和iOS应用程序的轻量级、可嵌入的HTTP服务器框架。CocoaLumberjack:适用于Mac和iOS的日志框架,集简单、快速、强大以及灵活于

系统 2019-08-12 09:26:41 2295

各行各业

EasyJWeb-0.1.0部分源码分析

介绍下自己,我叫stef_wu,是个菜鸟,现在在easyjf团队学习与工作,认识了很多热爱开源的朋友并得到他们的帮助。写这个文档是在今年3月中旬初识EasyJWeb的时候,当时是0.1版本,因为要找一个开源的java的论坛程序而发现easyjf网站,知道了国内也有一个类似Struts的webMVC开源框架,因为他是如此简单,于是产生了很大的兴趣,后来有幸加入到其中开发!:-)这个文档所分析的源码是最早的EasyJWeb版本,0.5版本出来的时候改了一点,本

系统 2019-08-12 01:31:52 2295

各行各业

UVa 1583 Digit Generator(数学)

题意假设a加上a全部数位上的数等于b时a称为b的generator求给定数的最小generator给的数n是小于100,000的考虑到全部数位和最大的数99,999的数位和也才45因此我们仅仅须要从n-45到n枚举即可了#include#includeusingnamespacestd;intt,n,a,b,ans,l;intmain(){scanf("%d",&t);while(t--){scanf("%d",&n)

系统 2019-08-12 01:31:51 2295

Python

Python 字符串类型列表转换成真正列表类型

我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fromastimportliteral_eval

系统 2019-09-27 17:54:19 2294

Python

python多线程

python多线程深入理解低级接口基本使用EventSemaphore线程通信高级接口低级接口基本使用join()方法用来阻塞主线程。可以注释掉、看看打印顺序。importthreadingimporttimedeftest(n):time.sleep(1)print(n)t=threading.Thread(target=test,args=(7,))t.start()t.join()#等待子线程执行完毕,才继续执行主线程。print('主线程执行完毕'

系统 2019-09-27 17:53:20 2294

Python

Python实现生成简单的Makefile文件代码示例

在linux下写几个测试程序,还要一行行的输入g++命令进行编译,当经常改测试代码的时候,那一次次的敲(或者一次次的上线箭头选)也感觉不爽,不如make来的快。用Makefile的好处就不用多说了,这里我写了个脚本,其功能是自动搜索当前目录(不包括子目录)下的“.c”文件生成Makefile文件。代码在这里,功能有限(适用于单个文件是一个独立的测试代码的情况),需要的朋友可以稍作修改以满足需求。复制代码代码如下:#!/usr/bin/python'''Fi

系统 2019-09-27 17:51:44 2294