写点什么

为.NET 重新审视 SOLID 设计原则和其他模式

  • 2013-09-18
  • 本文字数:779 字

    阅读完需:约 3 分钟

“为了方便自己和其他人,我想记录下我学到的东西或者在工作中遇到的问题。” .NET 平台的 Web 开发者,瑞典人 Andras Nemes 最近撰写了一系列博文,关于 SOLID 设计原则和其他在面向对象编程和设计中非常有趣的设计模式。在解释为什么写这些文章时,他写下了上面的话。

Andras 将 SOLID 设计原则描述为一系列的面向对象软件设计的指导方针。运用这些原则可以使代码库更加容易理解和维护。它们也支持使用更多的面向对象的风格,因此可以防止代码库演变为高度内部耦合的烂摊子,那样会非常难于调试和扩展。但是他也指出,尽管这些原则是很好的工具集,但是为防止代码过期,它们仍然不能替代维护和重构代码。

SOLID 代表五个设计原则首字母的缩写,Andras 做了如下简要描述:

Andras 为每一个原则描述了什么时候和什么地方应该用何种模式,而后在 demo 中实际运用了模式。他首先实现一个不用模式的例子,接着使用模式重构并改进了代码。他还探讨了前一种设计的缺陷,以及重构是如何改进设计的。

除了 SOLID 原则,Andras 还用同样的方式描述了许多其他的模式,包括:命令模式、建造者模式、访问者模式、桥接模式和观察者模式。

查看英文原文: SOLID Design Principles and Other Patterns Revisited For .NET


感谢姚琪琳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-09-18 10:191751
用户头像

发布了 21 篇内容, 共 66609 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 如何安装Jenkins 插件?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试平台开发-前端开发之数据展示与分析

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 搞清楚这六个能力模型,轻松应对互联网裁员潮

测吧(北京)科技有限公司

测试

喜报!霍格沃兹第二届火焰杯软件测试高校选拔赛荣获大奖

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试平台开发-前端开发之Vue router路由设计

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Frida 实现 Hook 功能的强大能力

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 实战演示 H5 性能分析

测吧(北京)科技有限公司

9个 方法预防租赁LED显示屏舞台隐患

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

Log4j2远程执行代码漏洞如何攻击? 又如何修复

琦彦

log4j2 Log4j2 漏洞 10月月更

软件测试 | 测试开发 | 一步一步学测试平台开发-Vue restful请求

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Jenkins通过什么方式报警?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 静态扫描体系集成

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 做到这几点,你也能成为 BAT 的抢手人!

测吧(北京)科技有限公司

测试

毕业后什么都不会,找了个培训班学软件测试学了4个月,拿到offer,坐等入职

测吧(北京)科技有限公司

测试

Java 8的新特性

琦彦

java8 10月月更

软件测试 | 测试开发 | Pytest 结合 Allure 生成测试报告

测吧(北京)科技有限公司

测试

持续测试成熟度模型

陈磊@Criss

软件测试 | 测试开发 | 接口抓包分析与Mock实战

测吧(北京)科技有限公司

测试

技术分享 | 实战演练

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 通用 api 封装实战,带你深入理解 PO

测吧(北京)科技有限公司

测试

秋招收到10几个offer 说说我的想法吧

Geek_0c76c3

Java 数据库 开源 程序员 开发

Qualcomm Atheros wallys QCA9880 Dual Band 2.4GHz 5GHz 2x2 MIMO 802.11ac Mini PCIE WiFi Module//QCA9882 3x3 FCC/CE/IC

wallys-wifi6

QCA9880 QCA9882

ElasticSearch 不停服升级实践

移动云大数据

elasticsearch

软件测试 | 测试开发 | 实战演练基于加密接口测试测试用例设计

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试右移之logstash完整配置实例

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试左移之Sonarqube maven项目分析

测吧(北京)科技有限公司

测试

JVM——内存泄漏与内存溢出

琦彦

JVM 内存泄漏 内存溢出 10月月更

软件测试 | 测试开发 | 电商业务的性能测试(一): 必备基础知识

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 学做测试平台开发-Vuetify 框架

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Jenkins中,如何管理用户及其相对应权限?

测吧(北京)科技有限公司

测试

从启动到关闭 | SeaTunnel2.1.1源码解析

Apache SeaTunnel

为.NET重新审视SOLID设计原则和其他模式_架构_Jan Stenberg_InfoQ精选文章