用的SSH,可一点也不OO
dandan_5956
2010-06-04
用SSH也做了好几个项目,都是传统三层架构,也许还会加Web Service的功能,在项目开发的过程中,感觉我们一点也不OO,拿到需求,功能模块划分,建表,整合好SSH,分清包结构,将表导成PO,就开始各自分工做了,最近也在看Rod Johnson的《Expert One-on-One - J2EE Development without EJB》,很多现在的做法,都是书里面建议避免的,罗列一下问题,希望能逐步改进:
|
|
dandan_5956
2010-06-07
又来说一条
|
|
Leon&ZM
2011-05-11
小弟最近正在自学Hibernate,感觉Hibernate东西多而杂,但它生成表和拿数据的确挺方便的,继续学习ing....
|
|
dandan_5956
2011-05-12
正确地运用Hibernate很关键,对Hibernate深入学习会对你对持久层设计产生深远的影响,我以前看的《Hibernate in Action 2》
|
|
ltian
2011-07-28
Hibernate就是一个持久化的工具,SSH不过是一个工具组合,它们本身用了OO思想,但不代表这些工具的使用者就OO了。
OO归根到底是对所面向的业务领域的面向对象的抽象,不研究业务并对业务进行抽象和建模,而试图从工具层面来达成OO,我认为是缘木求鱼。 |
|
mengzhiang
2011-07-29
其实OO不OO不是关键,关键是你能实现客户的需求,完成客户需要的功能,以前没有OO的时候软件照样使用的挺好,所以OO不OO不是关键,关键是满足客户需求,另外同时保证代码的可维护性和可扩展性。
OO的目的就是因为它能更高的处理复杂的问题,并保证代码可维护和扩展。所以不要为了OO而OO,而要看具体问题具体分析,如果问题简单,就不需要OO,如果为了OO而OO就走错了。 |
|
ltian
2011-08-04
mengzhiang 写道 其实OO不OO不是关键,关键是你能实现客户的需求,完成客户需要的功能,以前没有OO的时候软件照样使用的挺好,所以OO不OO不是关键,关键是满足客户需求,另外同时保证代码的可维护性和可扩展性。
OO的目的就是因为它能更高的处理复杂的问题,并保证代码可维护和扩展。所以不要为了OO而OO,而要看具体问题具体分析,如果问题简单,就不需要OO,如果为了OO而OO就走错了。 不知道你是否认为所有管理类的应用软件都很简单,最终归结为对数据库的增删改查。我接触过一些与你相同观点的人,他们的最终结论就是这样,最后他们的结论是,所进行的所有基于数据库的软件都没有必要OO。 |
|
mengzhiang
2011-08-05
ltian 写道 mengzhiang 写道 其实OO不OO不是关键,关键是你能实现客户的需求,完成客户需要的功能,以前没有OO的时候软件照样使用的挺好,所以OO不OO不是关键,关键是满足客户需求,另外同时保证代码的可维护性和可扩展性。
OO的目的就是因为它能更高的处理复杂的问题,并保证代码可维护和扩展。所以不要为了OO而OO,而要看具体问题具体分析,如果问题简单,就不需要OO,如果为了OO而OO就走错了。 不知道你是否认为所有管理类的应用软件都很简单,最终归结为对数据库的增删改查。我接触过一些与你相同观点的人,他们的最终结论就是这样,最后他们的结论是,所进行的所有基于数据库的软件都没有必要OO。 最近我也在想这个问题,是不是因为我做的项目太简单了,还是我没有理解什么是OO。 不能说基于数据库的软件都没有必要OO,或许要是情况而论,而且我觉的OO只是一种解决方案,既然是基于数据库的软件,是不是可以使用数据模型而不用对象模型呢。最近想学习下数据模型。毕竟现在做的是数据库应用。 |
|
ltian
2011-08-09
mengzhiang 写道 ltian 写道 mengzhiang 写道 其实OO不OO不是关键,关键是你能实现客户的需求,完成客户需要的功能,以前没有OO的时候软件照样使用的挺好,所以OO不OO不是关键,关键是满足客户需求,另外同时保证代码的可维护性和可扩展性。
OO的目的就是因为它能更高的处理复杂的问题,并保证代码可维护和扩展。所以不要为了OO而OO,而要看具体问题具体分析,如果问题简单,就不需要OO,如果为了OO而OO就走错了。 不知道你是否认为所有管理类的应用软件都很简单,最终归结为对数据库的增删改查。我接触过一些与你相同观点的人,他们的最终结论就是这样,最后他们的结论是,所进行的所有基于数据库的软件都没有必要OO。 最近我也在想这个问题,是不是因为我做的项目太简单了,还是我没有理解什么是OO。 不能说基于数据库的软件都没有必要OO,或许要是情况而论,而且我觉的OO只是一种解决方案,既然是基于数据库的软件,是不是可以使用数据模型而不用对象模型呢。最近想学习下数据模型。毕竟现在做的是数据库应用。 我觉得面向对象与面向数据的区别在于,面向对象的方法可以通过抽象建立起业务领域知识的语义表达,而所谓的面向数据的方法实际上是直接设计物理模型(库表索引等),物理模型是为了解决技术问题(考虑性能),而用于表达业务抽象则显不足。按照面向数据的开放方法实际上是被广泛采用的,业界称之为“智能界面(Smart UI)”,随着信息系统的复杂,考虑到跨部门的企业级应用的建设,美国在上世纪末开始逐渐转变为领域模型驱动的方法,就是按照面向对象来进行业务建模的方式。这个可以看一本经典的书籍,叫做《领域模型驱动设计》,我们从2005年开始探索按照面向对象的方式开发管理信息系统,只要层次分的合理,也没有很复杂,系统的重构性很好,提高了易维护性(按照面向数据的开发方法,大家对业务的操作都是针对库表,这样对持久化对象的管理可能很不容易统一到一个入口)。关键在于,面性对象可以充分利用抽象接口隔离变化,使得系统具有很好的柔性。面向对象的方法主要是能够培养一种抽象能力,这对于构建复杂,且希望走产品化的业务领域很有帮助。 |
|
dandan_5956
2011-08-10
引用 这个可以看一本经典的书籍,叫做《领域模型驱动设计》,我们从2005年开始探索按照面向对象的方式开发管理信息系统,只要层次分的合理,也没有很复杂,系统的重构性很好。 羡慕使用领域驱动,现在面临处境是,披着面向对象的外衣做着面向数据的开发,四不像。 |