摘要: 模式的起点¡工厂方法(FactoryMethod Pattern)模式起点:将程序中创建对象的操作单独进行处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。典型应用:工厂方法模式是最简单也最容易理解的模式之一。其关注的核心是对于对象创建这件事儿的分离。¡单例(SingletonPattern)模式起点:一个类只有一个实例,且提供一个访问全局点的方式,更加灵活地保证了实例的创建和访问约束,并且唯一约束的实施由类本身实现。典型应用:一个类只有一个实例,经常被应用于Façade模式,称为单例外观。¡命令(CommandP 阅读全文
posted @ 2011-08-12 16:35 我的javaIT 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 好代码、坏代码之四9.扩展无处不在扩展性是衡量一个软件产品的重要尺度之一。通过合适的设计为软件系统赋予一定程度的扩展,是架构师着手设计的重要考虑因素,如图3-16所示。扩展是个大课题,涉及软件系统的方方面面,依赖于粒度不同的架构格局。举例来说,数据库设计可以考虑在横向或纵向的扩展、在多层架构中实现可适配的数据层、为业务层实现注入逻辑设计、在UI层提供可配置的界面选择以及为物理架构提供横向扩展的部署设计。实现基于服务的系统,就意味着在服务层支持扩展良好的高层架构;而一个面向接口的设计,将是为扩展提供可能的选择之一;采用ASP.NET MVC构建的Web系统,将在很多方面被赋予扩展的标签,基于管线 阅读全文
posted @ 2011-08-12 16:29 我的javaIT 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 好代码、坏代码之三7.线程安全很重要线程安全是重要的,在数据共享或同步的场合应将线程安全作为必须考虑的因素,不安全的代码将在多线程运行时造成严重的问题。例如,单例模式就是这样一个需要特别注意的例子:publicsealedclassSingleton{Singleton(){}publicstaticSingletonInstance{get{if(instance==null){instance=newSingleton();}returninstance;}}privatestaticSingletoninstance=null;}因此,你可以考虑通过“双锁”机制来保证线程的安全,不过在. 阅读全文
posted @ 2011-08-12 16:24 我的javaIT 阅读(206) 评论(0) 推荐(0) 编辑