我可以: 邀请好友来看>>
ZOL星空(中国) > 办公星空(中国) > 打印机研究室星空(中国) > 辅助软件星空(中国) > 对于C#的SOLID实践案例
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

对于C#的SOLID实践案例

21浏览 / 0回复

jimzh1

jimzh1

0
精华
9
帖子

等  级:Lv.1
经  验:95
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:广东
  • 注  册:2014-09-04
  • 登  录:2014-09-04
发表于 2014-09-27 18:13:44
电梯直达 确定
楼主

很多时候在C#编码中可能出现的一些常见错误,违背SOLID原则将导致代码不易扩展、难以维护。

提供了计数器的示例代码,并针对SOLID每条原则给出了建议,但为了简洁起见我们只节选了开闭原则(OCP)相关的一些内容。开闭原则(OCP)规定“软件实体(类、模块、函数等)应该对扩展开放,对修改关闭”。下面这段代码违背了开闭原则



因为你需要在客户每次需要显示新增内容时修改此方法,而且,客户始终需要显示新增内容。建议将绘制替换成通用程序:



思路是这样的:

编写实现已知接口的绘制类(或有关绘制类的类)。呈现器必须能够决定其是否可以或应该基于输入内容绘制任何内容。例如,带式绘制代码可以移动到其自身的“带式呈现器”,用于检查接口并视需要继续执行。

基类引用继承类是违背开闭原则的另一个例子



作者建议“基类绝不能直接引用其继承类。”。

对等类中也可能存在该问题:



King解释道:

通常情况下,对象层次结构中的弧线和直线是对等的。它们不应该知道彼此之间的非继承的详尽细节,因为这些细节通常是最优交叉算法所需的。随时修改其中一个,而无需更改另一个。这再一次违背了单一责任。存储弧线,还是分析这些弧线?将分析操作置于其自己的实用程序类中。

尽管对于小型项目来说可能不是很必要,但为了避免产生面条式代码,代码规模越大,严格执行SOLID原则的重要性就越明显。想了解更多编程语言教程知识请登录e良师益友网。


高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表
您对“当前页面”满意吗?
满意
不满意
还可以输入