`
vking_wang
  • 浏览: 10001 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
偶尔情况下,你会编写只包含静态方法和静态域的类。这种类的名声不太好,因为有些人滥用他们来避免面向对象编程,不过这种类确实有他们的用处。 我们可以照java.lang.Math或java.util.Arrays的样子,用这种类将基本类型或数组 ...
所谓Singleton,是指仅能被实例化一次的类。Singleton通常代表本质上唯一的系统组件,例如窗口管理器或文件系统。让一个类成为Singleton就无法为Singleton替换模拟实现,除非它实现一个作为其类型的接口,所以会让其客户端难于测试。 JDK1.5之前,有两种方法可以实现Singleton,二者均基于让构造函数私有化,并导出一个公共静态成员来提供对唯一实例的访问。在方法一中,该公共静态成员是一个final域: //Singleton with public final field public class Elvis{ public static final ...
静态工厂和构造函数都有一个限制:可选参数数量很大时,他们都不能很好地扩展。考虑一下这个例子:用一个类来表示袋装食品上的营养成分标签,这些标签有几个必选字段:每份的含量、每罐的份数、每份的卡路里;还有超过20个可选字段:总脂肪含量、饱和脂肪含量、转化脂肪含量、胆固醇含量、钠含量等等。大多数产品只有少数几个可选字段是非零值。 你将为这种类编写怎样的构造函数或者静态工厂呢?程序员习惯上会使用telescoping constructor模式,提供一个值包含必选参数的构造函数,以及一个包含一个可选参数的构造函数、一个包含二个可选参数的构造函数、等等,最后一个构造函数包含所有可选参数。【例】就像 ...
一、JNLP介绍:   在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服 ...
本章的主题是创建和销毁对象:何时创建、怎样创建;何时应该避免创建、如何避免创建;如何确保对象适时被销毁;如何管理对象销毁前的清理动作。 一个类如果要允许客户获得其实例,常用方法是提供一个public的构造函数。还有另外一个方法,也应该在每个程序员的工具集中占有一席之地:类可以提供一个public的静态工厂方法,这个方法返回类的实例。【例】下面是Boolean类(基本类型boolean对应的包装类)代码里的一个简单示例,该方法将一个boolean简单类型转换为一个Boolean对象引用。 public static Boolean valueOf(boolean b){ ret ...
本书旨在帮助你最高效地使用Java语言及其基础类库,包括java.lang、java.util,以及小部分的java.util.concurrent、java.io。本书也会不时地讨论其他类库,不过不会涵盖图形用户界面、企业级API以及移动设备相关类库。 本书包含78个条 ...
如果一个同事跟你说:“我的配偶今天晚上在家制造了特别的晚餐,你愿意参加吗?”你的脑子应该会闪过三个念头:首先,你被邀请去参加晚餐;第二,英语不是你同事的母语;最后,一堆费解。 如果你学过外语并试图在课 ...
Open Closed Principle: Software entities like classes, modules and functions should be open for extension but closed for modifications. 对扩展开放,对修改关闭。一个软件实体应该通过扩展来实现变化,而不是通过修改已有代码来实现变化。 一个软件实体 ...
LoD,Law of Demeter: 又称最少知识原则(Least Knowledge Principle),一个对象应该对其他对象有最少的了解 一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的 ...
Interface Segregation Principle: Clients should not be forced to depend upon interfaces that they don't use.——客户端只依赖于它所需要的接口;它需要什么接口就提供什么接口,把不需要的接口剔除掉。 The dependency of one class to another one should depend on the smallest possible interface.——类间的依赖关系应建立在最小的接口上。 即,接口尽量细化,接口中的方法尽量少 问题由来: 类 ...
DIP,Dependence Inversion Principle: High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions. 即“面向接口编程”: 高层模块不应该依赖低层模块,两者都应该依赖其抽象;——模块间的依赖通过抽象发生。实现类之间不发生直接的依赖关系(eg. 类B ...
LSP,Liskov Substitution Principle: 1) If for each object s of type S, there is an objectt of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when s is substituted fort when S is a subtype of T. 2) Functions that use pointers or references to base classes ...
SRP,Single Responsibility Principle: There should never be more than one reason for a class to change. 应该有且仅有一个原因引起类的变更。(如果类需要变更,那么只可能仅由某一个原因引起) 问题由来: 类T负责两个不同的职责:职责P1, ...
SDO是为了屏蔽数据格式、数据源的差异性而出现的。新公司用到了SDO并自己做了SDO的实现,作为学习,试着翻译这篇篇IBM 2004年的文章 原文:http://www.ibm.com/developerworks/java/library/j-sdo 摘要: 如果你觉得J2EE编程模型及其API总是让你在特定技术配置(technology-specific configuration)、编码、调试上花费太多时间,那么这篇文章就对你有用!许多Java程序员疑惑怎样用统一的方式访问异构数据,并对许多打算解决这个问题的编程框架很失望。Bertrand Portier 和Frank Budins ...
方法一: 1)先下载一个Excel文件:http://vdisk.weibo.com/s/lKO2s 2)把Catalog页移动到需要建立索引的Excel文件中 3)右键Create按钮 - Assign Macro... - 选择:Catalog.Create_DropDown_MainMenu 右键Clear按钮 - Assign Macro... - 选择:Catalog.DeleteSpecifyShapes 4)点击Create即可生成目录: 方法二: 首先打开要创建目录的EXCEL文件 —— Alt+F11——插入——模块——把下面的代码拷贝到模块中:然 ...
Global site tag (gtag.js) - Google Analytics