`

适合才是正确的 之 “关于业务逻辑加入存储过程”

 
阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



业务逻辑在一个系统中可放的地方很多,有的人选择放在存储过程中,有的人会选择放在业务组件中,这些方式都可以进行业务逻辑的判断。既然提供了这些方式都可以实现业务逻辑的判断,就证明它们存在的合理性。就像在设计的过程中,很多人会将进行条件选择语句封装到不同的类的重构,以满足设计中的”开-闭“原则,这样做有他的道理。但并不是说以后就不用条件转移语句了,要不开发语言怎么会支持条件转移语法呢。我们要根据具体的情况选择是否重构,比如我们只需要创建一个对象,如果进行重构,试想得建多少的类啊,维护起来头不够大啊。

那是不是在项目开发中就可以任选一种方式呢?当然是不可取,很多都是依据具体情况而定的,只有在具体情况中才能说好还是不好。打个比方,一个项目,好的设计需要1个月,差的设计只要10天,此时你应该选择哪一个?更多的人会选择花1个月的设计,因为大家对设计的追求。但是如果这个项目只给了1个月时间,你又该如何选择呢?当然,这个例子不是很确切,但只想说明一点:适合才是正确的。将业务写入存储过程,可以找出很多的理由推翻这种做法,也能找很多的理由赞成这种做法,那都是站在不同的项目环境看这个问题。对于小型的项目,逻辑相对简单,为了快速,减少开发规模,将业务逻辑写入存储过程,是比较好的一种方式;对于大型项目,考虑业务逻辑的复杂性,将业务逻辑封装到组件中是一种相对较好的方式。相对存储过程的修改、维护和部署,是否要更安全和方便呢?同时,将业务逻辑写入存储过程,会增加数据库服务器的负荷,极端一点有一个很复杂的逻辑,需要读取很多的数据进行比较,很多人并发访问,那我们是否应该考虑一下数据库服务器的负担,是否可以将一部分工作放在客户端或者应用服务端?。要说的太多了,不过要说明的还是一点:适合才是正确的!



分享到:
评论

相关推荐

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    可使用存储过程写分页逻辑,提高效率。 多选 5.根据《阿里巴巴Java开发手册》,以下功能必须进行水平权限控制校验的有:ABCD A .订单详情页面。 B .类目管理后台。 C .店铺装修后台。 D .订单付款页面。 ...

    JAVA自学之路

    去研究各种商业项目的业务逻辑吧,才能在你的简历中加入浓重的一笔。 EJB3.0,java在走了很多弯路后的回归之作,值得研究。 SOA,业界铁定的未来趋势,要紧紧跟随。 在后面,我会告诉你每一步的学习方法和学习...

    外文翻译 stus MVC

    1:外文原文 Struts——an open-source MVC implementation This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology....

    数据库资料

    SQL编程,实现功能强大的查询掌握创建索引、视图,快速访问数据库 掌握创建存储过程,实现复杂的业务规则理解触发器的原理,实现高级的约束目标了解设计数据库的步骤掌握如何绘制数据库的E-R图理解数据库的规范化-...

    asp.net知识库

    SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL-DMO实现定制SQL Scripts Create Tables and Build inserts from Tables by using Mygeneration Templates(Sql Server) C# 获取...

    网上会展的未来发展趋势

    网上会展同样存在着1∶10的拉动效应,网上会展1元钱的直接收益,将带来电信接入业务、IDC业务、电子商务业务、宽带视讯业务、网页制作、IP电话会议、视频点播、彩信、3G等数据业务等10元钱的拉动效应,进军网上...

    千方百计笔试题大全

    93、以下关于SessionFactory的说法哪些正确?(B,C) 21 94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,...

    java面试宝典

    93、以下关于SessionFactory的说法哪些正确?(B,C) 21 94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,...

    (重要)AIX command 使用总结.txt

    lscfg -v | grep -E "pdisk|hdisk" //可查看已经加入到卷组中的磁盘的大小 ## lsdev命令start 常用参数说明: C -&gt;列出自定义设备对象类中设备的有关信息,缺省包括名称,状态,位置,描述,不可和P合用 c Class -&gt;...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的...

    网络组建域管理课件2

    域是用户和计算机的逻辑分组,实际上的域就是由一个或多个逻辑单元所组成。域中的计算机与它的位置无关。 树 域、组织单元和对象之间的分层结构称为树。 域树 域树是指若干个域组成的层次结构。 Windows 2000 ...

    数据分页程序完全解决方案(含普通分页/分段分页/原始分页/since_id分页)

    信息检索完成后, 是需要经过传输(从存储介质到应用程序)和相关计算(业务逻辑)的, 因此, 我们需要一种分段的信息检索机制来降低这种冗余. 分页应运而生. 2. 分页的发展 基本的分页程序, 将数据按照每页记录数(page...

Global site tag (gtag.js) - Google Analytics