软件面向对象的架构设计基本原则
Posted NetDeveloper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件面向对象的架构设计基本原则相关的知识,希望对你有一定的参考价值。
1,单一职责原则
要求:对象职责明确,一个对象只做好一件事情,必须专注,职责过多容易引起变化的原因就多,程序就不够稳定。
2,开放封闭原则
要求:需求变化时尽量少的修改类的设计,而是通过扩展来完成。即封闭修改,开放扩展。
3,依赖倒置原则
要求:基于接口编程,高层模块调用接口,底层模块实现接口,防止底层变化直接影响高层。
IOC,AOP等技术框架最早的成熟应用源自JAVA企业开发,现在.NET领域发展也非常迅速,常见的框架有如下等:
Autofac下载地址:http://code.google.com/p/autofac/
Castle Windsor下载地址:http://sourceforge.net/projects/castleproject/files/Windsor/2.5/Castle.Windsor.2.5.3.zip/download
Unity下载地址:http://entlib.codeplex.com/
Spring.NET下载地址:http://www.springframework.net/
StructureMap下载地址:http://sourceforge.net/projects/structuremap/files/
Ninject下载地址:http://ninject.org/download
如使用以上现有广泛应用的框架,Spring.Net源自JAVA的Spring,功能更完整强大,Autofac与Ninject更清晰友好,个人推荐使用Autofac+其它框架组合使用。
4,接口隔离原则
要求:尽可能多的使用专有的小接口,而不是总接口,避免接口过于复杂。
5,里氏替换原则
要求:在继承关系中子类可以替换父类,虚拟机根据父类变量动态找到具体子类对象,从而实现多态(即是以前C++编译器技术中的晚期绑定)。
注:尺有所短,寸有所长;各种技术、框架及设计方法有其各自所对应的时代和特点,最好的往往都不是瑞士军刀,要避免陷入某一种思维方式的沉浸而不可改变。
以上是关于软件面向对象的架构设计基本原则的主要内容,如果未能解决你的问题,请参考以下文章