易截截图软件、单文件、免安装、纯绿色、仅160KB

Java与模式: 6大原则

1,OCP(Open-Close Principle)开闭原则       
     Software entities should be open for extension,but closed for modification,(在设计一个模块的时候,应当使这个模块可以在不被修改的前提下扩展)。       
      对扩展开放open,对修改关闭close。如何实现?
     (1),抽象化是关键;
     (2)对可变性的封装原则(Principle of Encapsulation of Variation EVP)。用我自己的话来说,在我们设计模块的时候,要将其他“类似”的类,提取出来共同的代码,就是所谓的“抽象”。而对于哪些代码放在抽象类里面去,就是存在可变性的地方.对于这点,我还没有体会到。典型容易理解的列子,工厂模式。当需要新增加一个类的时候,直接继承product接口就可以了。     
2,Liskov Subsitution Principle(LSP)里氏代换原则     
    就是子类可以代替父类出现的任何地方,在抽象的时候,重要的要理解的一个地方两个类之间是什么关系,是“has-A”?还是“Is-a”的关系。在“has-a”的关系中,两个类存在的是依赖的关系(在类A里面存在类B的的变量);在“Is-a”的关系中,可以提取这两个类的“共同代码”放在抽象类C中,然后A,B继承与C,这也是一种重构。    
3,Dependency Inversion Principle(DIP)依赖倒转原则     
     就是在我们编程的时候方法的参数类型,变量,对于其他具体类的依赖,我们尽量的使用抽象类。就是说尽量依赖于抽象,而不是依赖于实现。
     在书中两种表述:     
     (1),Abstraction should not depend on details.details should depend on abstraction. (抽象不应当依赖于细节,细节应当依赖于抽象)。Abstraction就像是建筑物的基础,而其实现类就是在基础上面一层一层的往上面走。你拆掉最上面那层,和拿走最下面的基础,有什么不同了,这就是差异了。所以Abstraction是要相当的稳定,是维护的重点。也正是因为稳定,所以我们尽量的依赖于Abstraction,既是


相关文档:

JNA实现Java调用Fortran

在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......

Groovy java的好伙伴5

通过 Groovy 进行循环
同大多数脚本语言一样,Groovy 经常被宣传为生产力更高 的 Java 语言替代品。您已经看到了 Groovy 缺少类型能够如何减少打字工作。在这一节,将创建并试用一个 repeat 函数。在这个过程中,将进一步探索 Groovy 提高效率的方式。
更好、更短的循环
下面这种方法可以更好地感受 Groovy 缺乏类型的好 ......

JAVA中读取XML文件中的配置信息

  在进行MIS系统开发过程中,从配置文件中读取配置信息是每一个系统必须具备的功能,例如,我们要配置读取数据库配置信息,包括驱动程序名、连接字符串,用户名,口令等信息,由于这些信息会随着用户的不同而发生改变,所以不能直接把参数写在程序中,将其写入配置文件,然后在应用程序中读取配置信息并加以使用,是一个成 ......

Java/JSP连接Postgre数据库常见问题解答

一、
问:org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "192.168.254.103", user "postgres",database "postgres", SSL off
答:PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,就会报一些以上的异常。要解决这个问题 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号