面向切面编程(AOP)

面向切面编程(Aspect Oriented Programming, AOP)的概念非常简单,它把系统的一些非业务功能(如日志记录、性能监控、事务管理等)从业务代码中剥离出来定义成切面,再把这些切面作为对业务代码的增强。降低了非业务功能对业务代码的侵入,进一步降低了两者的耦合程度。

阅读更多

控制反转(IoC)和依赖注入(DI)

控制反转(Inversion of Control,IoC)是一种设计原则,它把创建和管理类对象的控制权从调用者转移到框架容器中。事先在框架容器中注册各种类对象,由框架容器统一负责类对象的创建、装配和管理;调用者无须显式创建类对象,只需声明使用即可。在这里,类对象就是服务。IoC进一步实现了各模块之间的解耦,充分体现了技术人在“高内聚、低耦合”设计方向上的不懈追求!

依赖注入(Dependency Injection,DI)是实现IoC的最流行方式,被各大技术框架所采用。

本文详细介绍.NET框架的DI用法,并给出一个Spring框架的DI示例用以对比。

阅读更多

设计模式——类图汇总

设计模式种类繁多,且许多模式之间存在相似之处,要想熟练掌握并在实际项目中灵活运用,需要在实际项目中不断总结。

本着“从少到多,由多变少”的学习原则,我认为应该以类图为核心,做到三点:①观察类图能快速识别模式;②能在大脑中熟练描绘各种模式的类图;③结合类图,理解设计模式的结构特点和解决问题的思路。

所以,本文集中列举各种设计模式的类图,方便随时回顾理解。

阅读更多

设计模式——概览

除了功能和性能外,可维护性也是软件开发关注的一大重点,因为任何有价值的软件系统都处于不断迭代的过程中,迭代就意味着变化,例如功能扩展、系统移植等等。而软件开发成本巨大,如何应对变化就成了一门大学问。

设计模式就是为了应对变化,它是面向对象软件设计的精髓,每一种设计模式都描述了在我们周围不断重复出现的问题以及解决该类问题的最佳方案。

虽然大多数书本上只讲解典型的23种设计模式,但设计模式作为工程经验的产物绝对是不断发展变化的。

本系列文章以设计模式的类图为核心,随着项目经验的丰富,将为每种设计模式逐步添加案例分析和使用心得分享。

阅读更多