上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页
摘要: 简单介绍: 工厂模式专门负责将大量有共同接口的类实例化。 工厂模式可以动态决定实例化哪一个类。不必事先知道每次要实例化哪个类。工厂模式的几种形态: 简单工厂(Simple Factory) 又称静态工厂模式 <由一个具体工厂类使用静态方法根据客户端传入的数据决定创建那种产品> [main] Product prod = Creator.factory(type1); 工厂方法(Factory Method) 又称多态性工厂模式或虚拟构造子模式(Virtual Constructor) <客户端首先决定创建哪种具体的工厂类,然后由工厂类创建具体的... 阅读全文
posted @ 2012-02-01 22:09 万法自然~ 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 这更多的是一个架构层面的模式,注重从架构的层次去看整个系统,而不是单个类的层次。目的是为一个复杂的系统提供一个统一的接口便于客户程序使用。可能的使用原因:1、原有系统非常复杂,客户程序可能只需要其中一部分功能,或是希望订制使用。2、提供统一的访问入口,限制客户程序对系统的全面访问。 使用Facade,可以监视系统的使用情况。3、提高系统的独立性,减少未来切换系统时对客户程序的影响。与其他模式的区别: Facade模式注重简化接口 Adapter模式注重转换接口 Bridge模式注重分离接口(抽象)与其实现 Decorator模式注重稳定接口的前提下为对象扩展功能例子:门卫通常需要抄作... 阅读全文
posted @ 2012-02-01 22:02 万法自然~ 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1、单一职责原则(Single Responsibility Principle,简称SRP) 单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。这是高内聚的绝佳体现,如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者一直这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。而软件设计真正要做的许多内容,就是发现职责,并把这些职责相互分离。2、 开放--封闭原则(The Open-Closed Principle,简称OCP) 开放--封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。即对于 阅读全文
posted @ 2012-02-01 09:57 万法自然~ 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。他参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,包括《The Elements of Programming Style》、《The Practice of Programming》、《The UNIX Programming Environment》、《The AWK Language》、《Software Tools》、《C Programming Language》等。 阅读全文
posted @ 2012-01-16 11:05 万法自然~ 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 来源:Spring之旅专栏 in ITEYE websitehttp://spring.group.iteye.com/group/wiki/2298-spring1、名词解释: 依赖注入、控制反转:应用本身不负责依赖对象的创建和维护,转而交由容器来完成。2、Spring的主要特性。 (1)降低组件之间的耦合度,实现软件各层之间的解耦。 (2)可以使用容器提供的众多服务,如:事务管理服务、邮件服务、JMS服务、持久化服务等等。 (3)容器提供单例模式支持,开发人员不再需要自己编写实现代码。(?) (4)容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。 (5)容器提供的众多辅 阅读全文
posted @ 2012-01-12 15:42 万法自然~ 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Extract From:http://www.ibm.com/developerworks/cn/java/j-lo-servlet/index.htmlTomcat 的容器分为四个等级, 真正管理 Servlet 的容器是 Context 容器, 一个 Context 对应一个 Web 工程给Tomcat增加一个web工程:1 Tomcat tomcat = getTomcatInstance(); 2 File appDir = new File(getBuildDirectory(), "webapps/examples"); 3 tomcat.addWebapp( 阅读全文
posted @ 2012-01-12 12:13 万法自然~ 阅读(213) 评论(0) 推荐(0) 编辑
摘要: Extract from: http://taligarsiel.com/Projects/howbrowserswork1.htmlexer:词法分析器Catalog: 1. Introduction 2. The rendering engine 2.1 Rendering engines 2.2 The main flow 2.3 Main flow examples 2.4 Parsing and DOM tree construction 2.4.1 Parsing - general 2.4.2 HTML parser 2.4.3 CSS parsin... 阅读全文
posted @ 2012-01-12 12:00 万法自然~ 阅读(360) 评论(0) 推荐(0) 编辑
摘要: Externalizable接口继承了Serializable接口,用来在序列化时手动的把需要的对象信息进行序列化。 Externalizable接口提供了两个方法:writeExternal(ObjectOuputout)和readExternal(ObjectInputin)。在你需要被序列化的类中实现这两个方法,这样在此类序列化时这两个方法将被自动执行,用以可定制地序列化此类。参考文档:http://www.mscto.com/JavaBase/2009022570208.html (Externalizable接口的用法) http://www.oschina.net/uploads/ 阅读全文
posted @ 2012-01-06 12:18 万法自然~ 阅读(275) 评论(0) 推荐(0) 编辑
摘要: Terracotta for Spring是基于Spring应用的运行时,它为Spring 应用提供了透明的高性能集群支持,对应用代码和部署及配置流程影响都很小。 它通过在应用下面的堆级别进行集群而不是直接集群应用。这使得在需要扩展的应用开始设计时不考虑集群,而在应用需要扩展或者要保证高可用性和故障恢复时,他们只需要在Terracotta 配置文件中定义哪些Spring应用上下文中的beans需要进行集群。 Terracotta for Spring 使得应用能够被自动和透明的集群,还保证在集群间的语义和单节点一样。从宏观上看,Terracotta for Spring提供了: HTTP .. 阅读全文
posted @ 2012-01-06 11:42 万法自然~ 阅读(600) 评论(1) 推荐(0) 编辑
摘要: 架构演变第一步:物理分离WebServer和数据库架构演变第二步:增加页面缓存 选择采用squid等类似的机制来将系统中相对静态的页面进行缓存架构演变第三步:增加页面片段缓存 采用ESI来做动态页面中相对静态的片段部分的缓存架构演变第四步:数据缓存 缓存技术,包括像Map数据结构、缓存算法、所选用的框架本身的实现机制等。架构演变第五步: 增加WebServer 1、如何让访问分配到这两台机器上,这个时候通常会考虑的方案是Apache自带的负载均衡方案,或LVS这类的软件负载均衡方案; 2、如何保持状态信息的同步,例如用户session等,这个时候会考虑的方案有写入数据库、写... 阅读全文
posted @ 2012-01-04 17:42 万法自然~ 阅读(263) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 下一页