三层构架和面向对象没有直接的联系,实际上面向过程的语言也完全可以用来实现三层构架。
构架阐述的是软件的输入输出、事物逻辑、生存环境等等,而面向对象关注的是业务角色相关的代码重用,构架设计决定了功能区分,对象设计则决定了功能的内部组织和外部接口,就好像踢足球,构架设计好比决定阵型,对象设计好比人员安排。
现在新型的设计理念是为构架进行对象化的封装,即每个对象也有了所谓构架的性质,比如对象内部也有了服务、代理这些以往构架层才需要考虑的问题,这就是面向服务的程序设计,例如SOA、WebService。又或者是用构架设计对对象封装进行指导,构架本身来决定业务逻辑(服务、处理、持久化),而对象按照构架中的生存层次实现预定的接口,例如AOP。
构架阐述的是软件的输入输出、事物逻辑、生存环境等等,而面向对象关注的是业务角色相关的代码重用,构架设计决定了功能区分,对象设计则决定了功能的内部组织和外部接口,就好像踢足球,构架设计好比决定阵型,对象设计好比人员安排。
现在新型的设计理念是为构架进行对象化的封装,即每个对象也有了所谓构架的性质,比如对象内部也有了服务、代理这些以往构架层才需要考虑的问题,这就是面向服务的程序设计,例如SOA、WebService。又或者是用构架设计对对象封装进行指导,构架本身来决定业务逻辑(服务、处理、持久化),而对象按照构架中的生存层次实现预定的接口,例如AOP。