摘要:
类厂服务的主要功能是简化创建具体工厂任务,使工厂访问代码和工厂创建代码解藕。类厂服务是以抽象工厂模式为基础,并且在其上进行再综合。 在正式进入正题之前,为了方便后面的叙述,先要澄清一些概念,把上下文(Context)搭建起来,然后,我们再在这个上下文中进行讨论。 首先是两个基本定义:族和系列。(这两个概念是我自创的,不知道常用的术语是什么,知道的朋友请留言告诉我:))(1)族 ... 阅读全文
摘要:
所谓企业开发基础设施,指的是为那些几乎所有的企业开发都会遇到的共同的基础性的问题提供服务的设施,比如事务、日志、权限等等。其中很多设施都会以AOP的方式实现,有些则可能以类库的方式提供。我也一直在积累这方面的AOP组件和类库。 曾经做过一些关于日志、权限管理的AOP实现,这几天正在研究“类厂服务”,于是就有了写这个“企业开发基础设施”系列文章的想法,把自己的一些思想拿出来和大家一起讨... 阅读全文
摘要:
人们都善于用直观简单的方式来理解事物,我也坚信,所有优秀的解决方案都是直观而简单的,我喜欢直观而简单的解决方案,也许在找到直观简单的解决方案之前,我们已经尝试了用很多复杂费解的方式来解决问题。如果你不能把我们程序的解决方案用通俗易懂的方式给隔壁卖青菜的阿伯解释清楚的话,说明,这个解决方案还不够好――还不够简单和直观。宇宙够复杂了吧,可是霍金却创作《时间简史》系列的科普读物,既然是科普,它的读者就是广大的普通老百姓,不一定非要是物理学或天文学的博士。 在软件解决方案上,为了追求直观而简单的解决方案,我们发明了面向对象,之后又是N层架构、面向组件、AOP,又到现在比较热门的MDA、WebServ. 阅读全文
摘要:
所有的软件技术和思想的出现都是为了解决所在的那个年代软件开发的复杂性,对象技术和组件技术也不例外。当然还有很多其它技术,像DBC(契约式编程)、AOP、MDA等,这些思想都在影响我们设计/实现程序的方式,但无可否认的是,当今最主流的编程技术是对象技术和组件技术。 面向对象技术已经成熟的发展将近20年了,关于这方面的经典书籍和论文也随处可见。为了解决更大的系统的复杂度,组件技术应运而生,在windows平台上,组件从最初的动态链接库到COM,在到现在的中间件、.NET,就是组件思想走过的轨迹。 面向对象技术的基础是封装--接口与实现分离,面向对象的核心是多态--这是接口和实现分离的更高级升华,. 阅读全文
摘要:
相比于写代码,我更喜欢写能自动产生代码的生成器,和许多人一样,我讨厌写重复的代码,这种重复包括字面的重复和结构的重复、还有思想的重复。 在日常的开发过程中,一旦我发现一种需要经常使用的元素(类/结构/方法),我就将它整理出来,所谓整理主要是做这样的工作:重构、最大限度降低这个元素与其它元素的耦合性、 阅读全文