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

设计模式六大原则(4):接口隔离原则

文章来源:http://blog.csdn.net/zhengzhb/article/details/7296921定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则。举例来

系统 2019-08-12 09:29:54 2352

编程技术

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

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

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

各行各业

WURFL简介

做无线应用不像普通互联网应用那么简单,其中最麻烦的要数客户端适配的问题。全世界的手机千千万万种,屏幕尺寸、分辨率、颜色数、浏览器、操作系统、虚拟机版本等等全都不一样。要以统一的服务器端架构满足这么多种不同的客户端,并非易事。其中最困难的就是,你怎么知道客户端的配置是什么样的?当然,HTTP协议提供了UAheader,根据这个,可以拿到终端的具体型号,下面要做的就是,根据这个型号找到各种各样的规格属性了。WURFL正是做这个事情的,它的全称是Wireless

系统 2019-08-12 09:27:22 2352

各行各业

caffe安装1

affe是一个深度学习的库,相信搞深度学习的话,不是用这个库就是用theano吧。要想使用caffe首先第一步就是要配置好caffe的环境。在这里,我主要说的是在debian的linux环境下如何配置好caffe的库。因为python编写程序比较方便,在文章最后,我还会具体说明如何配置python环境。本文章为本人原创。非盈利性质网站转载请在文章开头处著名作者:77695,来源http://www.cnblogs.com/cj695/。盈利性质网站转载请与

系统 2019-08-12 09:27:21 2352

各行各业

github个人心得和链接

github使用心得:在本次github使用过程中,我总结了git常用命令,都有哪些功能?git常用命令:gitconfig:配置gitgitadd:更新workingdirectory中的文件至stagingarea。gitadd.更新所有的文件gitcommit:提交stagingarea中的文件至gitrepository中。gitcommit-m'message'gitstatus:查看状态gitdiff:查看改动情况gitremote:查看远端服

系统 2019-08-12 09:26:53 2352

Java

java database connect

Java数据库连接(JDBC)由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。一、连接各种数据库方式速查表下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。1、Oracle8/8i/9i数据库(thin模式)Class.forName

系统 2019-08-12 01:53:04 2352

数据库相关

小试 ScriptManager

1概述ScriptManager控件管理用于MicrosoftASP.NETAJAX页面的客户端脚本。默认情况下,ScriptManager控件将MicrosoftAJAX库的脚本与页面注册到一起,这使脚本可以使用类型系统扩展并支持局部页面输出和Web服务调用。在页面中,必须使用ScriptManager控件来使下列MicrosoftASP.NETAJAX的特性可用:MicrosoftAJAX库的客户端脚本功能,以及任何要发送到浏览器的定制脚本。部分页面输

系统 2019-08-12 01:53:01 2352

数据库相关

进程间通信——共享内存

共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不需要在所有进程的虚拟内存中都有相同的虚拟地址。象所有的SystemVIPC对象一样,对于共享内

系统 2019-08-12 01:52:37 2352

各行各业

分布式中的异步通信

我也要谈谈大型网站架构之系列(4)——分布式中的异步通信我们知道在面向对象编程中,总会想着各种办法来实现代码的解耦,从而让项目中的各种人员面对自己熟悉的业务进行开发,做到术业有专攻,比如大家非常熟悉的三层架构,MVC,MVP以及MVVM模式,让前端设计专注于html的制作,让后端开发人员更加专注于业务逻辑的编写,可以看到,我们这么做的目的就是想最大程度的做到系统的可扩展和可维护性,那么我们的大型网站是不是也要遵守这种模式呢?一:分层和分割1:分层对于分层,

系统 2019-08-12 01:32:41 2352

各行各业

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 2352