`
cherami
  • 浏览: 205961 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

增加一个方法要修改多少个地方?

阅读更多
被调到新的项目组,理论上算个Team Leader,没有真正的转正,老大最开始跟我说这边的事情我可以做主,但是美国那边有个架构师开始搭了个架子,意思是在这个架子的基础上做,试了下,发现很繁琐,为了增加一个方法,得修改好多个类。这个阶段其实是个过渡阶段,以后我们会使用Web Service,所以我们哟定义Web Service的接口,然后因为是过渡阶段,所以提供了EJB2的过渡方案和原来的系统整合,所以还得改Remote接口,Local接口可以直接从Service接口extends一下就行了,然后得修改Service的实现类,加上原先的架子里面,设计的是Service里面的每个public方法对应一个Operation类,这些类设计成Command模式,方便以后可以更好的进行负载的Dispatch,就这样,给Service增加一个接口,要完全实现得至少修改3个类,增加一个类,而且前两天也提过这个项目使用的Annotation的一个好处,但是这样一来,我要实现那个接口,也得在Finder里面增加方法。最终,我得修改4个类,增加一个类来增加一个Service接口。天啊,这个是我最讨厌的。 下周打算修改这个架子,取消EJB2的临时方案,使用Dynamic Proxy实现Service,同时可以引人Transaction(这个方案原来也用了,但是架构师以Transaction的问题否决了,那个时候还没有想到怎么解决Transaction的问题,前天突然想起来我的EJB单元测试框架就是用的自定义Transaction的),同时也抛弃Finder的那个方案,因为其实我的BaseOperation已经提供了进行Hibernate的查询的方便的基础功能。最重要的是Finder中定义的Query如果有问题的话修改后不能Hot Deploy,如果在Operation的方法体里面的修改就可以Hot Deploy。这样修改后,增加一个接口只需要修改Service然后增加一个Operation类实现就行了,只要改两个地方。
分享到:
评论

相关推荐

    软件测试中如何进行增加、编辑、删除和密码修改测试用例

    增加1:在添加页面,输入要添加的数据项均合理,检查数据库以及列表页是否添加了相应的数据2:在添加页面,留出一个必填项为空,检查是否会提示3:按照边界值等价类设计测试用例原则设计其他输入项测试用例4:不符合...

    编写一个类实现银行帐户的概念

    改写上面的类,增加一个类的静态属性“最小余额”和一个用来修改这个最小余额属性的方法。 改写上面的类,增加一个类的静态属性“活期利率”和封装这个属性的相应方法。 程序模块 实验后的结果验证 总结体会 通过...

    《你必须知道的495个C语言问题》

    3.15 我要检查一个数是不是在另外两个数之间,为什么if(a b c)不行? 40 3.16 为什么如下的代码不对?int a=1000, b=1000; long int c=a * b; 40 3.17 为什么下面的代码总是给出0?double degC, degF; degC= ...

    你必须知道的495个C语言问题

    3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); ...

    硕士生,博士生论文排版技巧方法

    将图插入文档中后,选中新插入的图,在“插入”菜单选“题注”,新建一个标签“图1-”,编号格式为阿拉伯数字(如果不是点击“编号”修改),位置为所选项目下方,单击“确定”后Word就插入了一个文本框在图的下方...

    arcgis工具

    要链接到一个文档,单击Link to a Document,并输入文档路径名。 单击Tools工具栏中的Hyperlink工具,并单击图上某一个要素即可实现。 使用一个属性字段作为超链 在内容表中右击包含一个超链接字段的图层,然后...

    C语言FAQ 常见问题列表

    previous up contents next C 语言常见问题集 原著:Steve Summit ... o 8.5 一个指针变量分配多少内存? o 8.6 我有个函数, 本该返回一个字符串, 但当它返回调用者的时候, 返回串却是垃圾信息。 ...

    分辨率修改工具

    同理,每个格的数值对应键盘的每个键,需要在屏幕哪个位置增加哪个键就修改哪个就改哪的个值(对应原键值的数值修改,1-12分别代表手机键盘的#、*、0-9、13-14代表左右软键),比如我们要在屏幕中间增加一个”#“键...

    SQL Server中修改“用户自定义表类型”问题的分析与方法

    前言 SQL Server开发过程中,为了传入数据集类型的变量(比如接受C#中的DataTable...为了达到公用的目的,有时候一个TableType可以在多个地方分别被引用到,这样的话,势必要先删除所有的引用了这个“用户自定义表类型

    如何利用安卓修改大师在任意安卓应用中添加弹窗功能

    安卓修改大师可以在没有源代码的情况下,直接反编译已经打包的APK安装包,通过修改SMALI代码实现添加和去除部分功能,并在应用的任何地方添加任意代码,增加任意任何您想实现的功能。本教程通过对最近流行的“最美手...

    Data地方门户系统 v2.4

    包含二手房、出租、楼盘、招聘、二手、生活信息、新闻资讯、黄页、促销、便民电话等地方类网站运营中常用的功能,支持多套皮肤随时切换,无需太专业的知识,修改标签就能完成绝大部分的页面修改,实现每个网站自己的...

    C#23种设计模式_示例源代码及PDF

    2、BUILDER — MM 最爱听的就是“我爱你”这句话了,见到不同地方的 MM,要能够用她们的 、 方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到 MM 我只要按对应的键, 它就能够用相应的...

    VC++常用功能实例

    从一个OCX调用另一个OCX的方法。 95 得到视 96 字符转化时间 96 二进制还是文本方式? 99 发送消息 99 怎样知道菜单运行时的状态 99 DLL编译出错 100 通用控件的显示窗口 100 如何禁止和使能控件 100 如何在OLE控件中...

    VC++常用的共用函数100多页

    从一个OCX调用另一个OCX的方法。 95 得到视 96 字符转化时间 96 二进制还是文本方式? 99 发送消息 99 怎样知道菜单运行时的状态 99 DLL编译出错 100 通用控件的显示窗口 100 如何禁止和使能控件 100 如何在OLE控件中...

    java-servlet-api.doc

    要建立一个有效的Web服务应用,你必须能够识别一个连续的来自远端的客户机的唯一的请求。随着时间的过去,发展了许多会话跟踪的技术,但是使用起来都比较麻烦。 JavaServletAPI提供了一个简单的接口,通过这个接口,...

    java 面试题 总结

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    TortoiseSVN

    这种模型要求在对一个文件修改前首先要锁定这个文件, 然后才能修改,这时,别人将无法对该文件进行修改, 当修改完后再释放锁,使其他人可以对该文件进行锁定,然后修改。 锁定文件的方法是:TortoiseSVN->Get ...

Global site tag (gtag.js) - Google Analytics