写点什么

为.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:191914
用户头像

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

关注

评论

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

《实现领域驱动设计》拆书稿 DDD入门 & 领域、子域和限界上下文

三界

架构 领域驱动设计 DDD

数仓大法好!跨境电商 Shopee 的实时数仓之路

Apache Flink

大数据 flink 流计算 实时计算

使用wavm运行wasi wasm程序

Foliage

记录一下,我的记录之道

非著名程序员

学习 程序员 提升认知 工作效率

POJO类中布尔类型为啥不让用isXxx命名

Java课代表

细说几种内聚

落英亭郎

高内聚 面向对象设计 面向对象思想

如何看待年仅 28 岁的程序员实现财务自由,宣布从字节跳动退休?

非著名程序员

程序员 自由职业 程序人生 财富

实时即未来?一个小微企业心中的流计算

Apache Flink

大数据 flink 流计算 实时计算

二叉查找树的解读和实现

ytao

Java 数据结构

奈学教育《大数据架构师》课程大纲(1)

奈学教育

大数据

Cache类接口隔离设计

石刻掌纹

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui

jenkins wordcloud

奈学教育《大数据架构师》课程大纲(1)

古月木易

大数据

游戏夜读 | 中国的游戏制作人

game1night

Flink 在快手实时多维分析场景的应用

Apache Flink

大数据 flink 流计算 实时计算

【面向对象】—依赖倒置、接口隔离

不二架构

极客大学架构师训练营 依赖倒置 接口隔离原则

图解 Vue1.0 响应式系统

前端黑板报

源码分析 Vue Reactive

软件设计原则作业

梅子黄时雨

极客大学架构师训练营

奈学教育《百万架构师》课程大纲(1)

奈学教育

架构师

依赖倒置总结

石刻掌纹

Flink on Zeppelin (4) - 机器学习篇

Geek_8o1tcx

大数据 flink 学习 流计算 Zeppelin

架构师-第二周

师哥

高承实:区块链将对哪些场景赋能,如何赋能?

CECBC

区块链技术 产业 赋能

【摘】Git-从零单排 04期

卡尔

TiDB原理解析

架构师训练营第二周课程感想1

tuuezzy

Java 架构师

第二周作业

Diven

XSKY发布S3 Console,助力企业轻松玩转非结构化数据可视化管理

XSKY星辰天合

【玩转写作社区】如何让专业编辑青睐你的文章?被推荐置顶?

InfoQ写作社区官方

写作平台 InfoQ 玩转写作平台 热门活动

奈学教育《百万架构师》课程大纲(1)

古月木易

极客大学架构师训练营

UML实践-食堂就餐卡系统

shangyu

极客大学架构师训练营

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