[技术讨论]什么是最好的软件设计方法

JihadBird11:46:42

老师,您好

在线吗?

青润 11:46:50

在。

JihadBird11:47:32

目前大家公认的这种面向对象分析设计思路,应该只是所有设计思路中的一种吧?

就是比较优秀的一种,是吧?

JihadBird11:49:50

因为往我以前的传统思路上套的话,感觉套不上。我以前的思路是:应用逻辑、业务逻辑相互掺杂在一起,也没有实体类,数据直接通过界面元素获取,业务逻辑直接就是拼凑SQL执行的。

但是从即便用新的设计思路重构它的话,从程序运行效果上也看不出什么异同。

青润 11:51:04

未必是最优秀的。

人类创造的每一种设计思路和方法都有其适应的环境。

JihadBird11:47:32

目前大家公认的这种面向对象分析设计思路,应该只是所有设计思路中的一种吧?

就是比较优秀的一种,是吧?

你的第二个问题,说的是面向过程的开发方法吧?

这两者的区别应该在我的书中有详细的介绍,如果没有那就是在我曾经的培训中做过很明确的区分介绍。

JihadBird11:58:29

同一个系统,我可以采取如下两种方法:

1、应用逻辑、业务逻辑相互掺杂在一起,也没有实体类,数据直接通过界面元素获取,业务逻辑直接就是拼凑SQL执行的。

2、应用逻辑、业务逻辑分离、通过实体对象在各层之间传递数据。

还是第二种最好,代码可以公用,各层隔离,很清晰。

青润 11:59:24

这个和设计方法无关,和你的系统设计构成有关,每个设计师都可以有自己习惯用的方法,并不代表哪一种一定更优秀,关键在于适用场合。

青润 12:00:55

你认为各层很清晰的设计,在一些业务系统实现中,就会形成过度复杂的业务层间调用关系,使得业务逻辑表现的特别复杂。

就类似于管理制度,管理制度明晰的公司,往往缺少变通,也就是说容易僵化教条,但是整体管理效率会比大多数公司都好。但是管理制度不明晰的公司,就类似于你说的第一种,对于一些需要快速处理的事务,就可以达到非常高效的效果。

JihadBird12:01:06

是的

分得越细,在协调上浪费的时间就越多。

青润 12:02:54

所以,要明白自己要做的系统是什么,然后因地制宜,灵活应用,这才是软件工程的本质。

我的很多文字中多次提到反对本本主义,就是看到国内绝大多数公司都是本本主义的尊崇者,实在是国内软件项目失败的重要因素之一。

JihadBird12:03:59

是的,都是因为大家没有到灵活运用的级别,还处在低级的教条阶段。

青润 12:04:48

所以,我的书能看懂的,感兴趣的人就很少。

JihadBird12:05:53

佩服,您一直做技术培训?

青润 12:06:35

做的不多,只是根据情况,认可我的技术和培训的朋友介绍。

你可能感兴趣的:(方法)