---转http://www.ibm.com/developerworks/cn/java/j2ee/J2EE的四层模型J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专
系统 2019-08-29 22:16:12 2290
我偶然在google或yahoo这样的搜索引擎搜索GRASP发现,除了国外的网站,国内网站多介绍和讨论GoF而很少介绍GRASP,即使这少量的文章也讲解非常粗略。个人认为作为优秀的开发人员,理解GRASP比GoF更重要,故写此文章。前面我在《(原创)一个优秀软件开发人员的必修课:GRASP软件开发模式浅析》中介绍了使用GRASP的目的,今天允许我调换一下顺序,先从低耦合讲起,因为诸如创建者模式、信息专家模式的根本目的就是降低耦合。1.低耦合(LowCoup
系统 2019-08-29 21:58:58 2290
TestBird自2013年创建以来得到了各方的关注,其首创的游戏对象识别技术突破了行业技术难题,带领行业走出测试结果不精确、费人费力的僵局。2014年,TestBird继续发力,先后在Chinajoy、GMIC、TFC、GMGDC四大游戏盛会上展示了自己最新的研发成果,获得业内高度好评。TestBird西南区负责人刘箫介绍表示TestBird自对外推出手游测试服务以来,业务增长量一直非常可观,而在几次展会后行业对TestBird的关注更是有了更明显的增加
系统 2019-08-12 09:30:27 2290
一,结构抽象工厂(AbstractFactory)角色:担任这个角色的是工厂方法模式的核心,它是与应用系统商业逻辑无关的。具体工厂(ConcreteFactory)角色:这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。抽象产品(AbstractProduct)角色:担任这个角色的类是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。具体产品(ConcreteProduct)角
系统 2019-08-12 09:29:47 2290
策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式相当于"可插入式(Pluggable)的算法。一,结构:环境(Context)角色:持有一个Strategy类的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。具体策略(ConcreteStrategy)角色:包装了相关的
系统 2019-08-12 09:29:46 2290
上来先来一个图:在使用webdriver操作Firefox浏览器的时候,一路顺畅。可是在最后关闭浏览器后,出现了如上面图示的警告!这个警告很早就出现了,因为也不影响测试结果,也就一直没理。后来新搭建了一个windows虚拟机,也遇到了同样的问题。但是这次出现警告后,会阻塞住webdriver继续执行。一直到手动关闭了这个警告框才能继续执行。不得不处理一下。我处理的办法是:直接把PluginContainerforFirefox.exe删除或是重命名。让他直
系统 2019-08-12 09:27:35 2290
最近在研究Docker,Docker的网络配置是比较令人头疼的部分,尤其是跨主机的容器间通信,很多解决方案都比较复杂,这里,我只用虚拟网桥来实现Docker的跨主机访问,分享出来,希望对Docker学习的各位有一定的启发。基本思想:由于Docker容器通过docker0网桥实现同一主机间中,容器的ip地址分配和访问,所以,如果希望Docker跨主机访问,最简单的方式就是将不同主机的docker0设置为同一网段。那么怎么实现跨主机呢?我这里将本机网卡也通过网
系统 2019-08-12 09:27:33 2290
原链接:http://www.linuxforums.org/forum/newbie/26472-source-vs-binary-disadvantages-advantages-each.html1.SourcePackages:AdvantagesWhenyoucompileyoursourcepackagestheyaretailoredmuchmoretothesystem,andthuswillgivebetterperformance,as
系统 2019-08-12 09:27:13 2290
方法一:dockercommit1.跑一个basicimage,docker新建了一个容器root@ubuntu:/home/thm/docker/test#dockerrun-i-ttanghuimin0713/ubuntu_amd64:14.04/bin/bashWARNING:Local(127.0.0.1)DNSresolverfoundinresolv.confandcontainerscan'tuseit.Usingdefaultexterna
系统 2019-08-12 09:27:08 2290
安装前说明:必须先安装zookeeper集群该Storm集群由三台机器构成,主机名分别为chenx01,chenx02,chenx03,对应的IP分别为192.168.1.110,192.168.1.111,192.168.1.112,其中chenx01为MAST1、修改主机名vim/etc/sysconfig/networkNETWORKING=yesHOSTNAME=chenx012、修改主机和IP的映射关系vim/etc/hosts127.0.0.1
系统 2019-08-12 09:27:07 2290