使用面向对象方法和技术是为了更敏捷的响应客户需求,使得软件更易于维护和拓展。面向对象思维和面向数据库思维主要区别是:前者以动态思维来看待事物,注重对象内部属性状态和引起状态变化的一致性;而后者以静态思维看待事物,只是记录事实的最后状态。
很多人使用了很长时间的Java如Spring Hibernate,但基本还是基于数据库编程,使用SQL语句实现存储和计算查询,业务核心严重依赖关系数据库,最后当系统访问量增加时,系统性能急剧下降,同时需求变化时,更改数据表结构和SQL语句,一发动全身,耗费大量时间和精力,根本无法体现敏捷方法和技术带来的优点,这些都是因为没有掌握正确使用方法。
在面向对象思维中,内存才是对象的主要活动空间,而数据库只是对象休息睡眠(hibernate)的地方,或者说持久保存的地方,如果我们反其道行之,必然带来系统复杂棘手的大量问题。
面向对象和面向过程是有本质区别的,面向过程只是会编程,而面向对象才体现程序员专业水准,面向对象从软件的分析到设计及其编程单元测试,都已经有一套成熟可行的简便方案,可是我们由于接受传统滞后的教育原因,我们编程都只是从建立数据表结构开始,这种方式只适合小规模系统,当系统变大后,就需要重写,带来大量时间和金钱的浪费。而且习惯了面向过程和面向数据库的编程思维,要转变到面向对象思维上来,阻碍相当大,比登天还难,这就是现实中为什么大量都是基于数据库系统的原因。
面向对象的本质是逻辑分析哲学,现代逻辑学是面向对象的元语言,见这里讨论。
现代新的简化"对象"和"面向对象"的定义
新的面向对象涵括了面向函数语言等新概念,去除了传统面向对象概念中非本质因素。
罗素摹状词理论与面向对象OO
逻辑分析是面向对象思维的本质。
蒯因与引用透明
很多人只知道数学,而不知道数学后面的哲学与形式逻辑,就把我们编程语言中的这些约束和数学划上关系,实际上真正有联系的是数学背后的形式逻辑,或称符号逻辑。
快速适应需求变化的软件复用
本文总结了软件复用的不同层次:设计复用、组件架构复用以及业务模型复用,复用技术 的不断发展正是由于适应变化需求的要求不断提高导致!
软件最大的追求是什么?
从我们学会玩编程这个玩具开始起,我们就面临两种选择:一种朴素的、无需训练的、近似自然的“紧耦合”路线;一种是经过科学培训的“松耦合”道路。
用OO方法解一道算术题
本篇主要为说明使用面向对象的分析和设计方法可以帮助更快地认识事物,更快地排除编程设计过程一个个拦路虎。
你还在用if else吗?
是否大量使用if else语句,标志着一个程序员的面向对象思维是否走向成熟,也表明着他到底是否真正摆脱了传统面向过程或面向数据库的思维方式。
面向对象建模与数据库建模两种分析设计方法的比较
数据库已死
你还在用if else吗
解放思想,走出传统三层架构的束缚
分析模式
谈谈“面向对象”与“面向过程”
对象建模设计
Design by Contract (DBC) 契约式设计
SOLID原则
OOA面向对象分析建模
建模案例
OOD面向对象软件设计
面向对象框架设计
对象接口专题讨论
抽象继承讨论
关联模型
对象责任职责协作
GoF设计模式
DDD领域建模专题
对象数据库阻抗专题
数据库专题
面向过程专题
面向对象专题
面向函数式编程(Functional programming)