锁定老帖子 主题:面向行为编程!继面向对象的新的软件开发模式
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-04
这样是给定义接口者减轻了负担,但是接口的定义就是目录 模糊了目录 维护怎么办 大项目就不适合
|
|
返回顶楼 | |
发表时间:2011-02-04
没有新东西,只不过把参数放到parameter里了而已。
框架看起来简单、统一了,实现上增加了很大的复杂性,系统越大越难维护,直至崩溃。 |
|
返回顶楼 | |
发表时间:2011-02-04
coocle 写道 没有新东西,只不过把参数放到parameter里了而已。
框架看起来简单、统一了,实现上增加了很大的复杂性,系统越大越难维护,直至崩溃。 确实,不做开发的人总想着做得多灵活多通用,不管实际需求有没有,结果被这种人指挥下做的东西跑得越来越慢,bug越来越多,结果远远不如单独为确定好的需求分别开发。 框架就好比瑞士军刀,你不能把电钻,手机,空调遥控器,尿布垫什么的都装在瑞士军刀上。 |
|
返回顶楼 | |
发表时间:2011-02-06
弄成事件触发,写个监听岂不是更好。
|
|
返回顶楼 | |
发表时间:2011-02-10
dengzhangtao 写道 这样是给定义接口者减轻了负担,但是接口的定义就是目录 模糊了目录 维护怎么办 大项目就不适合
+1 设计和实现尽量不要偷懒,除非是一个不需要维护的项目。 |
|
返回顶楼 | |
发表时间:2011-02-12
想法是很不错!但是我觉得好像有些不对劲!!!具体是哪里我也说不出来!!!
|
|
返回顶楼 | |
发表时间:2011-02-19
最后修改:2011-02-19
我提个建议,通过类型检查提高可维护性
public interface Result<A,D,R,T extends Throwable> { void setAlgorithm(A algorithm); void setData(D data); R getResult() throws T; } public interface Algorithm<A,D,R,T extends Throwable,RT extends Result<R,?,?,?>> extends Result<A,D,R,T> { } public interface Data<A,D,R,T extends Throwable,RT extends Result<?,R,?,?>> extends Result<A,D,R,T> { } |
|
返回顶楼 | |
发表时间:2011-02-21
# public interface Algorithm<A,D,R,T extends Throwable,RT extends Result<R,?,?,?>> extends Result<A,D,R,T> {
# # } 有这种继承的写法吗?集成多个类不是extends后面加多个类名,类名与类名之间用逗号隔开吗? |
|
返回顶楼 | |
发表时间:2011-02-21
我没看太明白,我的理解应该是业务逻辑处理与功能逻辑处理应该是被分开的。
就拿登录来说,login是一种行为,但login要处理的功能有很多种,可以再细分到不同的功能控制,比如说验证检查,数据查询等,各功能的提供可以根据一种行为要求来订制何种处理。 且行为应该是属于对象,被对象所包含的,如楼上所说的,行为多了放在一起就有点泛滥了,但分门别类定义在各自所属的对象里,就不会了,比如人和车,都有各自的行为,定义在各自的类里就不会出乱子,而且人是被继承的,可以分很多种人,同样的行为也可以有不一样的处理。 |
|
返回顶楼 | |
发表时间:2011-02-24
首先赞一下楼主的创新精神,但是还是有很多疑问。
参数和返回值是什么,参数和返回值就是规范,你把规范写到代码里不比写到文档里好?还有编译器替你检查,多方便。 java为了通用,可以使用泛型,可以使用重载,可以使用覆盖,没必要把方法模仿成弱类型的。强类型虽然限制较多,但是也有个好处,编译器会告诉你很多低级错误。不然int你传个long进去,系统怎么挂的都不知道。就算你要加参数,重载一下就好了,也不需要你改全部的代码。 非要一个方法能让所有人都能用,参数全部Object...,返回值全部Object不就行了么。 还有,所有人都用一个login会不会太容易搞混?一个login不包含任何语义,也许customer.login和manager.login根本就是两个没有任何共同点的行为。 个人意见,请楼主考虑一下。 |
|
返回顶楼 | |