当前位置: 首页 > news >正文

浙江建设网公众号排名优化软件

浙江建设网,公众号排名优化软件,礼品网站商城怎么做,网站建设中页面设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#) 开闭原则。

 

开闭原则(Open Closed Principle)

开闭原则(Open-Closed Principle,OCP)是指一个软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。如当一个模块需要修改的时,不应该直接修改源代码,这样有可能对现有的工作造成影响。应该通过拓展来实现新需求。

例如,

1)一般的反面设计实现

using System;
namespace ConsoleApplication
{/// <summary>/// 矩形(Shape.cs)/// </summary>public class Shape{private double _width;private double _height;private double _radius;private string _name;public Shape(string name, double width, double height){this._width = width;this._height = height;_name = name;}public double AreaRectangle(){return _width * _height;}public void DisplayRectangle(){Console.WriteLine("{0} 长:{1},宽:{2},面积:{3}", _name, _width, _height, this.AreaRectangle());}public Shape(string name, double radius){this._radius = radius;this._name = name;}public double AreaCircle(){return Math.Round(Math.PI * _radius * _radius);}public void DisplayCircle(){Console.WriteLine("{0} 半径:{1},面积:{2}", _name, _radius, this.AreaCircle());}}class Program{static void Main(string[] args){Shape circle = new Shape("圆", 1);circle.DisplayCircle();Shape rectangle = new Shape("正方形", 100, 100);rectangle.DisplayRectangle();Console.ReadKey();}}
}

 2)开闭原则的实现

using System;
namespace ConsoleApplication
{//Shape.cspublic abstract class Shape{protected string _name;public Shape(string name){this._name = name;}/// <summary>/// 面积/// </summary>/// <returns></returns>public abstract double Area();/// <summary>/// 显示/// </summary>public abstract void Display();}/// <summary>/// 矩形(Rectangle.cs)/// </summary>public class Rectangle : Shape{private double _width;private double _height;public Rectangle(string name, double width, double height): base(name){this._width = width;this._height = height;}public override double Area(){return _width * _height;}public override void Display(){Console.WriteLine("{0} 长:{1},宽:{2},面积:{3}", _name, _width, _height, this.Area());}}/// <summary>/// 圆形(Circle.cs)/// </summary>public class Circle : Shape{private double _radius;public Circle(string name, double radius): base(name){this._radius = radius;}public override double Area(){return Math.Round(Math.PI * _radius * _radius);}public override void Display(){Console.WriteLine("{0} 半径:{1},面积:{2}", _name, _radius, this.Area());}}class Program{static void Main(string[] args){   Shape circle = new Circle("圆", 1);circle.Display();Shape rectangle = new Rectangle("正方形", 100, 100);rectangle.Display();Console.ReadKey();}}
}

 

http://www.15wanjia.com/news/1830.html

相关文章:

  • 网站改版的费用搜索引擎优化大致包含哪些内容或环节
  • 石家庄建站培训广州百度网站快速排名
  • 做网站需要每年都缴费吗推广赚钱的平台有哪些
  • iview可以做门户网站吗站长查询
  • wordpress登录美化css关键词seo
  • 做网站及小程序需要会哪些技能关键词怎么做快速的有排名
  • 做二手房的端口网站企业宣传软文
  • wordpress超好看主题优化师是做什么的
  • 帝国cms灵动标签做网站地图seo优化的技巧
  • 公司怎么做网络营销seo排名优化公司
  • 自己的电脑做服务器建立网站的方法怎么制作网页设计
  • 博兴建设局网站交换链接适合哪些网站
  • 宁波市有哪些网站建设公司黄页推广平台有哪些
  • wordpress 在线检测求职seo推荐
  • 做擦边球网站长尾关键词挖掘工具
  • 如何将自己做的网站挂到服务器上作品提示优化要删吗
  • 做网站首先要干什么厦门站长优化工具
  • 公司网站网页设计百度官方推广
  • 昆明建设局网站号码seo关键词推广怎么做
  • 珠海做网站哪间好营销推广方案怎么写
  • 网站没收录的几大原因手机百度网页版
  • 网站建设赚钱提高工作效率总结心得
  • 全国十大代理记账公司优化模型有哪些
  • 关于做面包的网站有什么平台可以推广信息
  • 免费自助建站代理什么叫营销
  • 澳门网站做推广违法吗百度seo怎么做
  • 网站建设及规划重庆白云seo整站优化
  • 如何建设物流网站淘宝指数官网
  • 网站开发成本主要有哪些网站在线客服系统免费
  • 莆田网站格在哪里做百度下载app下载安装