只显示主题贴

看到有人说我对hi的理解有问题。汗一个。不是我对hibernate的理解有问题。我是见过有人把hi当成数据库来使用,我才这么说的。本来使用ORM的目的是改变我们的设计方式,抛弃以往的以数据库为中心的,数据库紧密依赖式的设计。但是有多少人真正这么做了?很多人就算是用了orm,还是先去画数据库的er图,搞得复杂无比,关系杂乱。根本就没有oo的设计思想。如果你用过db4o这样的对象数据库就明白我的意思了。
  • 进入论坛 Java
现在开源的各种framework非常的多。干什么的都有。但是,是不是我们使用了这些开源framework就能够一劳永逸的解决我们的设计问题呢?我觉得答案是否定的。如果没有自己对设计和系统的理解。框架滥用就在所难免。比如说hibernate(以下简称HI),它是一个对象持久框架,他的目的非常的简单,就是提供对象持久化的手段。但是在日常的工作中,我经常看见很多人把HI用的非常的复杂,希望用HI实现一些复杂的数据库查询,似乎把HI看作了一个数据库抽象层了。使用HI,却永远不忘记SQL。我觉得这是不正确的。虽然HI的本质是ORM。但是它可不是用来替换数据库的。不要把HI当作数据库一样去操作。在设计的时 ...
  • 进入论坛 Java
其实我的意思是,实现aop的方式,动态代码生成,比如使用aspectj或者asm要比使用动态代理要好一些。想问问大家的想法。
  • 进入论坛 Java
我把代码贴下来:这段代码是实现了InvocationHandler接口的部分。将日志代码放进去了。 public class LogHandler implements InvocationHandler {  private Logger logger = Logger.getLogger(this.getClass().getName());   private Object delegate;   public LogHandler(Object delegate){    this.delegate = delegate;   }  public Object i ...
  • 进入论坛 Java
感谢回复,希望在不吝批评的同时也给我一些提示和解释。AOP的原理基本的我还是知道的,就是以一种透明的方式来实现一个切面。这样的切面是整个系统中所关注的。比如说日志,权限,事物等。我不了解的更多的是实现的方式和方法。希望各位高手给我一些解释。不吝赐教啊。至于我说使用动态代理的方式比较丑陋,是因为我看到了这样的实现。虽然我们可以封装这部分的操作,但是这个我们透明的希望总是有所违背不是么?
  • 进入论坛 Java
在java里 面,在什么情况下你会选择抽象类而不是接口?通常情况下,你能否解释抽象类的含义并说明什么时候使用他们?当你开始设计一个独立的系统的时候,当你准备深 入面向对象编程的时候你一定会问自己这些问题。这个问题,乍一看是一个写程序的细节问题,但其实这是一个设计的问题。接口与抽象类的运用能够使你的程序变 得更加的抽象,从而更加的灵活,更能够适应变化的需求。我想,这一点至关重要。     从语法的角度来看,抽象类和接口的差别好像仅仅是有没有具体方法的问题,当让这也是一个事实。这种微小的差别使得我们在使用他们的时候差生了疑问。我们会 觉得尽然有抽象类为 ...
建议不要学习groovy了。学JRuby吧。更好一些。呵呵。个人意见。
  • 进入论坛 Java
我们知道,AOP实现,一般要尽可能的透明化。业务类是不管这些切面的。实现的方法,一般都是拦截器,或者类似AspectJ那样的代码生成工具。如果使用动态代理,直接写的话,会使代码很丑陋。我宁可采用别的方法实现。除非实现某个规则约束。但是这样的话就不透明了。所以,生成代码的模式更好一些。 但是我们在程序里面生成代码,似乎是一件比较奇怪的事情。就好像我们在干jvm干的活。感觉有些怯怯的。想和大家讨论一下。听听大家的意见。另外AOP还有什么实现原理呢? 另外,使用动态代理似乎效率不是很高。
  • 进入论坛 Java
clarkhill
搜索本博客
博客分类
最近加入圈子
最新评论