请问jbuilder自动生成的Facade和Delegate等的架构好不好呀

03-09-12 rabbit
当然还有Dto的设计和assembler

billylovedog
2003-09-13 11:52
你问这个问题有点意思,首先你得搞清楚你为什么要用设计模式,如果你只是觉得设计模式比较流行的而用的话,那我劝你还是不用算了,因为你会多写很多的代码实现相同的功能。在我看来设计模式适用于大型的项目

的开发,小型项目可能他的威力没有你想象的那么大!

就拿Facade模式来说吧,他是迪比特法则的一个典型的应用,一般的做法是在如果要在A类中调用B类的一个方法,那么你要创建一个C类,A类通过

调用C类的一个方法来调用B类中一个方法。一般看来你你可以直接在A

中生成一个B的实例然后调用该实例一个方法不就行了么,C类根本就是多

出的一个类。那么为什么大家这么做呢?难道大家都喜欢多写代码么?

屁话?这么做的好处就在与如果B类的发生改变的话那么他的改变只影响到

C类,不会影响到A类,代码的修改只涉及到C类的代码,你会说这算什么啊,我在A类也可以改代码啊,绝对没错,代码改那里都一样的,但是关键

改一次还是2次,还是N次,如果你在N个类中都调用了B类的这个方法,那你不要改N次么,还有你改过之后难道不要测试么。。。。不要让我的眼泪

陪我过夜。。。。。我拿什么去爱你---设计模式。

rabbit
2003-09-13 15:54
谢谢!那如果要create两个有关系的EntityBean中的一个,那必定要set另一个,那是否也通过第二个的Facade返回的EJBLocalObject来set还是直接在第一个Facade中lookup第二个EntityBean的EJBLocalObject?

billylovedog
2003-09-13 19:10
不好意思,我不知道你的具体的业务逻辑是什么,但是就你提的这个要求

来看,应该在一个在同一个FACADE类中来实现调用。或者你就用

调停者模式来实现。

猜你喜欢