软件面向对象的架构设计基本原则

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++编译器技术中的晚期绑定)。

 

注:尺有所短,寸有所长;各种技术、框架及设计方法有其各自所对应的时代和特点,最好的往往都不是瑞士军刀,要避免陷入某一种思维方式的沉浸而不可改变。

以上是关于软件面向对象的架构设计基本原则的主要内容,如果未能解决你的问题,请参考以下文章

面向对象设计----软件设计师

php面向对象程序设计

8面向对象设计模式六大原则总结

8面向对象设计模式六大原则总结

Megento 架构原则

面向对象