[技术讨论]什么是最好的软件设计方法
2012-12-25 11:53
316 查看
JihadBird 11:46:42
老师,您好
在线吗?
青润 11:46:50
在。
JihadBird 11:47:32
目前大家公认的这种面向对象分析设计思路,应该只是所有设计思路中的一种吧?
就是比较优秀的一种,是吧?
JihadBird 11:49:50
因为往我以前的传统思路上套的话,感觉套不上。我以前的思路是:应用逻辑、业务逻辑相互掺杂在一起,也没有实体类,数据直接通过界面元素获取,业务逻辑直接就是拼凑SQL执行的。
但是从即便用新的设计思路重构它的话,从程序运行效果上也看不出什么异同。
青润 11:51:04
未必是最优秀的。
人类创造的每一种设计思路和方法都有其适应的环境。
JihadBird 11:47:32
目前大家公认的这种面向对象分析设计思路,应该只是所有设计思路中的一种吧?
就是比较优秀的一种,是吧?
你的第二个问题,说的是面向过程的开发方法吧?
这两者的区别应该在我的书中有详细的介绍,如果没有那就是在我曾经的培训中做过很明确的区分介绍。
JihadBird 11:58:29
同一个系统,我可以采取如下两种方法:
1、应用逻辑、业务逻辑相互掺杂在一起,也没有实体类,数据直接通过界面元素获取,业务逻辑直接就是拼凑SQL执行的。
2、应用逻辑、业务逻辑分离、通过实体对象在各层之间传递数据。
还是第二种最好,代码可以公用,各层隔离,很清晰。
青润 11:59:24
这个和设计方法无关,和你的系统设计构成有关,每个设计师都可以有自己习惯用的方法,并不代表哪一种一定更优秀,关键在于适用场合。
青润 12:00:55
你认为各层很清晰的设计,在一些业务系统实现中,就会形成过度复杂的业务层间调用关系,使得业务逻辑表现的特别复杂。
就类似于管理制度,管理制度明晰的公司,往往缺少变通,也就是说容易僵化教条,但是整体管理效率会比大多数公司都好。但是管理制度不明晰的公司,就类似于你说的第一种,对于一些需要快速处理的事务,就可以达到非常高效的效果。
JihadBird 12:01:06
是的
分得越细,在协调上浪费的时间就越多。
青润 12:02:54
所以,要明白自己要做的系统是什么,然后因地制宜,灵活应用,这才是软件工程的本质。
我的很多文字中多次提到反对本本主义,就是看到国内绝大多数公司都是本本主义的尊崇者,实在是国内软件项目失败的重要因素之一。
JihadBird 12:03:59
是的,都是因为大家没有到灵活运用的级别,还处在低级的教条阶段。
青润 12:04:48
所以,我的书能看懂的,感兴趣的人就很少。
JihadBird 12:05:53
佩服,您一直做技术培训?
青润 12:06:35
做的不多,只是根据情况,认可我的技术和培训的朋友介绍。
老师,您好
在线吗?
青润 11:46:50
在。
JihadBird 11:47:32
目前大家公认的这种面向对象分析设计思路,应该只是所有设计思路中的一种吧?
就是比较优秀的一种,是吧?
JihadBird 11:49:50
因为往我以前的传统思路上套的话,感觉套不上。我以前的思路是:应用逻辑、业务逻辑相互掺杂在一起,也没有实体类,数据直接通过界面元素获取,业务逻辑直接就是拼凑SQL执行的。
但是从即便用新的设计思路重构它的话,从程序运行效果上也看不出什么异同。
青润 11:51:04
未必是最优秀的。
人类创造的每一种设计思路和方法都有其适应的环境。
JihadBird 11:47:32
目前大家公认的这种面向对象分析设计思路,应该只是所有设计思路中的一种吧?
就是比较优秀的一种,是吧?
你的第二个问题,说的是面向过程的开发方法吧?
这两者的区别应该在我的书中有详细的介绍,如果没有那就是在我曾经的培训中做过很明确的区分介绍。
JihadBird 11:58:29
同一个系统,我可以采取如下两种方法:
1、应用逻辑、业务逻辑相互掺杂在一起,也没有实体类,数据直接通过界面元素获取,业务逻辑直接就是拼凑SQL执行的。
2、应用逻辑、业务逻辑分离、通过实体对象在各层之间传递数据。
还是第二种最好,代码可以公用,各层隔离,很清晰。
青润 11:59:24
这个和设计方法无关,和你的系统设计构成有关,每个设计师都可以有自己习惯用的方法,并不代表哪一种一定更优秀,关键在于适用场合。
青润 12:00:55
你认为各层很清晰的设计,在一些业务系统实现中,就会形成过度复杂的业务层间调用关系,使得业务逻辑表现的特别复杂。
就类似于管理制度,管理制度明晰的公司,往往缺少变通,也就是说容易僵化教条,但是整体管理效率会比大多数公司都好。但是管理制度不明晰的公司,就类似于你说的第一种,对于一些需要快速处理的事务,就可以达到非常高效的效果。
JihadBird 12:01:06
是的
分得越细,在协调上浪费的时间就越多。
青润 12:02:54
所以,要明白自己要做的系统是什么,然后因地制宜,灵活应用,这才是软件工程的本质。
我的很多文字中多次提到反对本本主义,就是看到国内绝大多数公司都是本本主义的尊崇者,实在是国内软件项目失败的重要因素之一。
JihadBird 12:03:59
是的,都是因为大家没有到灵活运用的级别,还处在低级的教条阶段。
青润 12:04:48
所以,我的书能看懂的,感兴趣的人就很少。
JihadBird 12:05:53
佩服,您一直做技术培训?
青润 12:06:35
做的不多,只是根据情况,认可我的技术和培训的朋友介绍。
相关文章推荐
- 现在网站网页设计用什么软件,什么技术?
- [技术讨论]什么是正确的学习和研究态度
- [技术讨论]软件与程序的差别
- 技术人员如何参与产品设计讨论:激活那一潭死水
- 设计模式(工厂方法)与软件开发原则
- 什么是Web 2.0——下一代软件的设计模式和商业模式 (全文翻译—1 博客版序)
- 有效测试软件的方法与技术
- VB 共享软件防破解设计技术初探(三)
- VB 共享软件防破解设计技术初探(一)
- 原型方法论 ---关于软件原型方法若干问题的讨论
- CSA: 软件的架构与设计模式之什么是架构
- 软件系统开发中的组件框架技术研究、设计和应用[转]
- av软件对壳的处理技术讨论
- [技术讨论]软件工程解决的是什么问题,兼谈兴趣与工作
- 软工—面向过程的软件设计方法
- 设计模式4.1--回调技术实现模板方法模式
- 一种软件错误码的设计方法
- 第06章 软件架构设计 之 基于架构的软件开发方法
- 软件测试用例设计方法
- 【转载】"变化"、"复用"、"抽象"、"稳定" 影响着软件设计模式,架构,开发方法