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

关于Observer模式不得不说的二三事

今天有同事问我关于Observer模式的一个问题,说观察者(Observer)为什么要依赖于主题(Subject),如下图所示:从上图可以看出,具体的观察者对具体的主题有一个依赖,而且从JDK本身提供的Observer接口,我们也可以看到,确实对主题(在JDK的实现中,为Observable接口)有一个依赖,如代码所示:publicinterfaceObserver{voidupdate(Observableo,Objectarg);}这个是为什么呢,为什

系统 2019-08-29 23:06:54 2033

编程技术

设计模式介绍之六:工厂模式(factory)的巧妙

本文展示了实际项目中使用到的一个工厂模式实现,在向系统中添加新类型时,只需要在新类型的实现文件这一处做改动,将新增类型对应用程序代码的干扰降到了最低。这个工厂实现的基本思想是:继承自同一个接口的新类型,通过一个函数来创建其对象,利用C++中类的构造函数会被自动调用这一特性,在新类型的实现文件中定义一个静态的(辅助)类对象,在该辅助类的构造函数中,向工厂单例注册新类型的创建函数。先看下代码,然后我们一一来解释。下面是命令接口CommandObject的头文件

系统 2019-08-29 22:35:19 2033

编程技术

我对as3声音架构的理解

一直都对as3的声音架构设计感到困惑,as3为什么要把播放和停止方法分开呢?为什么不能用一个Sound更换载入的声音呢?这几天有空专门专研了一下。原来as3对声音的设计也是深思熟虑的。目的不是为了把问题搞得复杂,而是为了在功能强化的同时做到精简。并尽可能方便我们使用。现在把我这两天的理解拿出来共享,有什么不到位的地方请多多建议。[1b]架构图:[/1b][url=http://bbs.actionscript3.cn/attachment.php?aid=

系统 2019-08-29 22:23:39 2033

编程技术

第一章 Shiro简介——《跟我学Shiro》

目录贴:跟我学Shiro目录贴1.1简介ApacheShiro是Java的一个安全框架。目前,使用ApacheShiro的人越来越多,因为它相当简单,对比SpringSecurity,可能没有SpringSecurity做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。本教程只介绍基本的Shiro使用,不会过多分析源码等,重在使用。Shiro可以非

系统 2019-08-29 22:00:48 2033

编程技术

PyDev for Eclipse

PyDevforEclipse8/15/20102:36:26PMPyDev安装和配置安装PyDev在安装PyDev之前,要保证您已经安装了Java1.4或更高版本、Eclipse以及Python。接下来,开始安装PyDev插件。启动Eclipse,利用EclipseUpdateManager安装PyDev。在Eclipse菜单栏中找到Help栏,选择Help>SoftwareUpdates>FindandInstall。选择Searchfornewfea

系统 2019-08-12 09:30:00 2033

Python

python学习手册笔记——39.元类

00.比99%的用户所担心的魔力要更深。如果你犹豫是否需要他们,那你不需要它们(真正需要元类的人,能够确定地直到需要它们,并且不需要说明为什么需要)。“因为某物很酷”而编写它,似乎不是一种合理的判断,除非你在做试验或者学习。01.元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象。02.03.元类的主要目的就是为了当创建类时能够自动地改变类。04.元类修改:内省属性:__class__和__dict__这样的特殊属性允许我们查看Python对象

系统 2019-09-27 17:57:31 2032

Python

Python 类的继承实例详解

Python类的继承详解Python既然是面向对象的,当然支持类的继承,Python实现类的继承比JavaScript简单。Parent类:classParent:parentAttr=100def__init__(self):print("parentInit")defparentMethod(self):print("parentMethod")defsetAttr(self,attr):self.parentAttr=attrdefgetAttr(s

系统 2019-09-27 17:56:20 2032

Python

python脚本

恰巧发现有个叫“EarthLiveSharp”,可用将日本向日葵8号卫星的地球实时图片设为屏保。向日葵8号卫星的地球实时图片官网为:http://himawari8.nict.go.jp/,EarthLiveSharp的项目地址是:https://github.com/bitdust/EarthLiveSharp。为了减轻向日葵8号的服务器负担,同时也是提高地球实时图片的获取成功率,需要使用cloudinary来做CDN。注册配置都在软件里有说明。目前Ea

系统 2019-09-27 17:56:14 2032

Python

详解Python传入参数的几种方法

Python传入参数的方法有:位置参数、默认参数、可变参数、关键字参数、和命名关键字参数、以及各种参数调用的组合写在前面Python唯一支持的参数传递方式是『共享传参』(callbysharing)多数面向对象语言都采用这一模式,包括Ruby、Smalltalk和Java(Java的引用类型是这样,基本类型按值传递)共享传参是指函数的各个形式参数获得实参中各个引用的副本;也就是说,函数内部的形参是实参的别名(alias)这种方案的结果是,函数可能会修改作为

系统 2019-09-27 17:55:23 2032