写点什么

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

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

关注

评论

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

数据湖揭秘—Delta Lake

阿里云大数据AI技术

sql spark 分布式计算 关系型数据库 存储

赵海鹏:如何进行OpenHarmony音频特性架构设计和开发工作

OpenHarmony开发者

OpenHarmony 开发者故事 开发者说

2021年证券类APP更新迭代检测专题分析(上)发布

易观分析

金融 券商App

vue 自从使用了组件,工作量减去了一半

CRMEB

直播预告|争夺存量用户关键战,助力企业构建完美标签体系

袋鼠云数栈

大数据 数据中台

博云:Kubernetes 近年影响最大版本发布,这几点值得关注

BoCloud博云

Kubetnetes

让客户实现 AI 算力“自由”,博云与趋动科技完成算力调度容器化验证

BoCloud博云

AI

互联网用户画像,精准营销,数仓有妙招

华为云开发者联盟

位图 GaussDB(DWS) 用户画像 精准营销 Roaringbitmap

SAP 订单模型的编排方式概述

汪子熙

订单管理 订单 5月月更 b2b 编排系统

投稿开奖丨云服务器ECS征文活动(2&3月)奖励公布

阿里云弹性计算

云服务器 征文投稿开奖 玩转ECS

web技术支持| Web 客户端实现录音、录像

anyRTC开发者

前端 Web 音视频 WebRTC 视频通话

案例分享|智慧广电的“宽带加速”之路,博睿数据来“私人定制”

博睿数据

数字化转型 博睿数据 智慧广电

TiDB 6.0 新特性解读丨 Collation 规则

PingCAP

告诉你使用预约小程序的9个理由

天天预约

小程序 SaaS 企业服务 预约工具

《2022微隔离技术与安全用例研究报告》重磅发布 | 附PDF全文下载

青藤云安全

存储卷指标消失之谜 | K8S Internals 系列第二期

BoCloud博云

Kubernetes kubelet

记一次存储系统IOPS翻倍的性能优化

Vincent

性能优化 存储系统

Carina 全新版本 V0.10发布 :支持裸盘作为存储卷

BoCloud博云

开源 本地存储

MySQL__数据处理之查询

编程江湖

线程通信

急需上岸的小谢

5月月更

姐姐驾到 | 零基础小白如何学前端!

锋享前端

万亿储能的极限拉力赛

钛禾产业观察

【国产】自动化运维ETL统一调度平台TASKCTL流程触发方式

敏捷调度TASKCTL

DevOps 分布式 数据仓库 ETL 自动化运维

盲盒系统开发盲盒源码搭建需要多长时间

WDL22119

极狐GitLab入驻阿里云计算巢,共同提升云上开发体验

阿里云弹性计算

DevOps 计算巢

为了让女朋友运动起来,小伙儿不仅买单车还设计了智能防盗单车锁

华为云开发者联盟

stm32 华为云IoT 智能防盗单车锁 蓝牙

如何真正将企业知识管理做出价值?

小炮

企业知识管理

09-条件查询器Wrapper

爱好编程进阶

Java 程序员 后端开发

得物技术消息中间件应用的常见问题与方案

得物技术

kafka 分布式 MQ 中间件 消息队列

JAVA异常情况如何处理?

源字节1号

后端开发

gRPC三种客户端类型实践【Java版】

FunTester

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