`
wangyun
  • 浏览: 120417 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
      在Hibernate的OneToOne节点中有几个我个人觉得是需要注意的地方。constained属性,它的中文意思约束,值为一个布尔值。当设置为true值与false值是有区别的。区别为:       ① 级联时储存顺序。值为true值时,先存入关联的表数据,然后才是自身。       ② 关联查询不同。值为true值时,是inner join,值为false值时,则为left join       
      无数的书中都在写尽量的使用组合而不要设用继承,可是让我们去看看那些“高人”写得设计模式吧,有多少是通过组合实现的。可见继承才是王道。他的优越性远远大于组合,我这里不提他的优越性,相信大家是知道的吧,那为什么还是老是去提倡组合呢?功能越强大的东西往往副作用更加大,去看看那些武侠小说吧最上乘武功其副作用都是很大的,最经典的就是葵花宝典了。哈哈。继续,也是说我们继承使用不当往往会产生对代码的重大修改,因此对于初学者书中总是提到少用继承多用组合。       其二,在Java中有两种继承。一种是接口继承,另一种是类继承。我相信很多书中总是提倡接口继承而不提倡类继承的。哎不想重复上面的话了,大 ...

CGI 变量

       CGI 变量介绍:        ⑴SERVER-NAME: 运行CGI 程序的机器名或IP 地址。        ⑵SERVER-INTERFACE: 服务器类型。如CERN型或NCSA型。        ⑶SERVER-PROTOCOL:通信协议。        ⑷SERVER-PORT:TCP端口。默认端口为80。                ⑸HTTP-ACCEPT:HTTP定义的数据类型。        ⑹HTTP-REFERER:发送表单文件的URL。        ⑺HTTP-USER-AGENT:发送表单的游览器的信息。               ⑻GETWA ...

接口的理解

      1)什么是接口?       一些方法特征的集合。即接口仅仅描述方法的特征。       PS:这里忽略了接口对象常量进行的定义。个人觉得非常不错。常量是一个固定的东西,它不是抽象的因此它不应该出现在接口之中,也没有必要在接口中出现。       2)接口的目的?       ① 实现代码的可插入性。对对象的关联和方法的调用实现可插入性。(抽象类同样可以做到)       ② 创建混合型对象       3)接口的优越性?       ① 不影响基类。       ② 可以创建混合型对象         4)什么时候使用接口?       在定义变量,参数,方法返回值和方法转换时都应 ...
      看了写关于关于灵活性软件开发模式的文章之后,想谈谈读了这些文章之后的感受。       灵活性软件开发模式与传统模式开发最大区别在于流程的不同,即传统开发先将整个软件的框架定出来,之后才出现功能模块,而灵活性软件开发模式则不同,它首先完成的是功能模块,即先不考虑软件的整体因素先将功能模块做出来。接下来我想谈谈这样的软件开发谈谈自己的感想。(PS:自己没有这么开发过软件,只是对读到的文章写一写自己的读后感和自己的一些想法)       首先从功能模块进行开发由一个明显的好处:即开发的速度快,我们不会去考虑是不是整个软件的不兼容性,我们仅仅需要的是将功能的尽快实现。这样便可以在第一时间将 ...

重载和覆盖

    博客分类:
  • Java
      方法的重载和覆盖定义没有什么好说的了。直接写出他们的区别就可以了。       重载:编译器会检查方法名称,方法参数的个数和参数类型。       覆盖:编译器会检查方法名称,方法参数的个数和参数类型,还有方法返回类型和方法抛出的异常列表。      
      了解开闭原则的附属原则我觉得并不是去掌握这些原则,而是通过这些原则更好的掌握开闭原则!       1)里氏代换原则:任何基类的可以出现的地方,子类一定可以出现。可以说里氏代换原则是开闭原则的一种实例的表现。因为违反了里氏代换原则那么一定也违背了开闭原则,反之却不一定会成立。       2)依赖倒转原则:要依赖于抽象,不要依赖于实现。那么什么东西依赖于抽象,不要依赖于实现呢?我认为可变的东西我们要依赖于抽象,而不依赖于实现。这时我们就可以发现当可变的东西是抽象的时候那么我就遵循了开闭原则,因为开闭原则对于依赖倒转原则而言是目的,依赖倒装对于开闭原则而言则是手动。通过对依赖倒装的认识 ...
      Hibernate 中UserType 接口用于设计自定义的类型与数据库的字段进行映射关系,这里的数据库字段可以是多个字段,而不仅仅是某一个字段。       那么Hibernate 这样的设计对程序有何意义或者说优点在于何处呢?因为我们同样可以使用编码的方式实现这样的功能!       使用UserType 最重要的一个原因是它可以实现业务层数据与数据库数据的分离,从而产生了自定义类型的可复用性和可维护性(即可可扩展性)。这是一个典型的开闭原则的体现。       接下来就是对UserType 接口定义的各方发的一个简单介绍。       1)isMutable:方法返回false ...

RTTI与反射

    博客分类:
  • Java
      RTTI 的中文意思是“运行时类型识别”。在Java 中是通过Class 对象实现并且在使用“instanceof”操作符时也用到了RTTI。首先instanceof 操作符和Class对象有什么区别呢?instanceof 操作符用于判断对象的类型是否是指定的类型或其继承类,而Class需要通过isInstance 或isAssignableFrom 两个方法来判别,如果使用equals或着“==”操作符是无法判别两个类型的继承关系的。我想这也许就是这两个RTTI 最大的区别吧。       接着就要说说反射机制了,它与RTTI 有个最重要的区别:RTTI识别类型必须在编译时是已知 ...
      1)什么会改变?        对象。        2)如何封装?        抽象化。        3)如何抽象化?        定义界限。不要越界。否则会是可变性变得混乱。          4)与开闭原则的关系?         开闭原则定义了抽象层。可变性的封装原则定义了抽象对象。      
      我想已经有无数文章介绍了什么是开闭原则。因此我不用花太多的唇舌去介绍,没有必要。想得话百度或google搜索下就OK 了。我将以一种全新的方式介绍开闭原则——自问自答。那就开始吧。        1)什么是“开”?         对扩展开放。        2)什么是“闭”?         对修改关闭。        3)开闭原则的关键是什么?         抽象化。        4)开闭原则的目的或者效果是什么?         不修改抽象层。         5)开闭原则如何实现?          接口和抽象类。         OK,我的介绍结束了。因为我只领悟了只有 ...
       Hibernate 提供了多种的主键生成方法。这里我做简单的介绍。PS:这不是让人看得,这是让我忘记的时候给自己提个醒。嘻嘻        1)Assigned:主键由应用程序设置。相信使用的次数相当相当的少啊~        2)hilo:不懂。因此我绝对不会用的。        3)seqhilo:和hilo 差不多。因此也不懂,所以还是不会的。        4)increment:主键按数值顺序递增。因此在第一次插入数据前Hibernate 会先使用sql 语句查找出最大的主键值,然后进行插入。该方法的一个缺陷是不支持多线程。当同时插入数据时将发生错误。但是还是有用的时候。 ...

构造器

    博客分类:
  • Java
      虽然,Java 的构造器非常的简单方便,但还是由我们需要值得注意的地方。       首先当然逃不过对象的初始化顺序。为了能够体现对象的顺序,我写了一个如下一个类,相信已经包含了所有的对象初始化顺序了 class Base { public Base() { System.out.println( "B"); } } class Inner { public Inner() { System.out.println( "D"); } } public class InitOb ...
      Spring Aop 强大之处你可以自己定义切入点并且对切入点进行合并使其成为新的切入点。这给我们很大的自由空间,任我们在其中翱翔。。。闲话少说。这里我就简单的介绍下如何自定义切入点。       Spring 自定义切入点只需要继承Pointcut 接口。它提供了两个方法:ClassFilter getClassFilter()和MethodMatcher getMethodMatcher()方法。通过方法我们可以很容易的看出第一个方法是对类进行判别是否需要织入通知,而第二个方法是对方法进行判别是否需要织入通知。当然它不仅仅只有如此而已,这我会在下面提及到。       首先说的是 ...
      类图用于显示类,接口以及它们之间的静态结构和关系的图。通过定义我们可以了解到类图分为两个方面一是类,接口的静态结构,二是他们之间的静态关系。       首先我们必须先了解类或接口的静态结构,这样才 ...
Global site tag (gtag.js) - Google Analytics