ASP.NET MVC设计原则讲解
2016-07-19 10:55
519 查看
设计原则:
当设计应用程序、框架或类时,最重要的是考虑代码的可扩展性,而不仅仅是开发出某些基本的功能。
SOLID原则
solid是一些特定的面向对象应用程序开发原则的简称,它们用来指导面向对象的设计与开发工作。solid包括以下这些原则。
1.单一职责原则
单一职责原则(SRP)是指对象应承担单一的责任,它们的行为应该关注在责任上。一个很好的例子就是不同的显示界面对应不同的控制器。
2.开放封闭原则
开放封闭原则(OCP)鼓励对扩展开放,对修改关闭。这一原则是对SRP原则很好的补充,也就是说,我们应该通过继承类来扩展其功能,而不是向类添加更多的行为和责任。一个很好的例子就是横切关注点。
3.里氏替换原则
里氏替换原则(LSP)的对象应易于被其子类型的实例替换,而不会影响对象的行为和规则。例如,尽管有一个共同的基类或接口是个不错的主意,但是这种做法可能会引起代码间接打破LSP
4.接口隔离原则
接口隔离原则(ISP)鼓励在整个应用程序使用接口的同时,限制接口的大小。换句话说,应存在多个更小、更多的特定接口,而不是一个包含所有对象行为的超类接口。一个很好的例子是.net为序列化和销毁对象分别定义了单独的接口。一个类如果实现了ISerializable和IDisposable接口,那么就可以只关注序列化的调用者,只关心ISerializable接口的实现情况。
5.依赖倒置原则
依赖倒置原则(DIP)是指互相依赖的组件应该通过抽象来进行交互,而不是直接通过具体来实现。使用这个原则一个很好的例子,就是将依赖于一个抽象类或接口的控制器与数据访问层交互,而不是直接创建特定类型的数据访问对象进行通信。
依赖倒置的优点是:使用抽象可允许不同的组件进行开发,彼此独立的进行更改,不仅可能引入新的抽象实现代码,而且易于测试,因为可以非常方便的模拟依赖项。
当设计应用程序、框架或类时,最重要的是考虑代码的可扩展性,而不仅仅是开发出某些基本的功能。
SOLID原则
solid是一些特定的面向对象应用程序开发原则的简称,它们用来指导面向对象的设计与开发工作。solid包括以下这些原则。
1.单一职责原则
单一职责原则(SRP)是指对象应承担单一的责任,它们的行为应该关注在责任上。一个很好的例子就是不同的显示界面对应不同的控制器。
2.开放封闭原则
开放封闭原则(OCP)鼓励对扩展开放,对修改关闭。这一原则是对SRP原则很好的补充,也就是说,我们应该通过继承类来扩展其功能,而不是向类添加更多的行为和责任。一个很好的例子就是横切关注点。
3.里氏替换原则
里氏替换原则(LSP)的对象应易于被其子类型的实例替换,而不会影响对象的行为和规则。例如,尽管有一个共同的基类或接口是个不错的主意,但是这种做法可能会引起代码间接打破LSP
4.接口隔离原则
接口隔离原则(ISP)鼓励在整个应用程序使用接口的同时,限制接口的大小。换句话说,应存在多个更小、更多的特定接口,而不是一个包含所有对象行为的超类接口。一个很好的例子是.net为序列化和销毁对象分别定义了单独的接口。一个类如果实现了ISerializable和IDisposable接口,那么就可以只关注序列化的调用者,只关心ISerializable接口的实现情况。
5.依赖倒置原则
依赖倒置原则(DIP)是指互相依赖的组件应该通过抽象来进行交互,而不是直接通过具体来实现。使用这个原则一个很好的例子,就是将依赖于一个抽象类或接口的控制器与数据访问层交互,而不是直接创建特定类型的数据访问对象进行通信。
依赖倒置的优点是:使用抽象可允许不同的组件进行开发,彼此独立的进行更改,不仅可能引入新的抽象实现代码,而且易于测试,因为可以非常方便的模拟依赖项。
相关文章推荐
- 树莓派(Raspberry Pi2)上源码编译安装tensorflow——基于NFS
- 开发者接入 基本配置 服务器配置 out.aspx
- ASP.NET绑定控件语法
- [转]ASP.NET MVC 3 Razor + jqGrid 示例
- asp生成报表并打印
- 如何禁用Visual Studio Browser Link
- AspNetPager的存储过程
- ASP.NET Core 十种方式扩展你的 Views
- asp.net mvc4 for vs2010 v4.0 官方免
- hjr-ASP.NET:asp .net web api
- ASP.NET Core 和 NLog 集成
- VS2008下,aspx页面设计模式消失,只有黑白字体
- Asp.Net Core- 多样性的配置来源
- 解析ASP.net身份验证——选择验证方式
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
- 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递
- 七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理
- 七天学会ASP.NET MVC (四)——用户授权认证问题
- 树莓派3下远程桌面到Windows系统
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理