QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

Prometheus Exporter (三)容器信息监控

耳东@Erdong

container Prometheus exporter 11月日更 cAdvisor

Go 的 Panics 处理

baiyutang

golang 11月日更

requests-html库初识 + 无资料解BUG之 I/O error : encoder error,Python爬虫第30例

梦想橡皮擦

11月日更

kafka常用命令

williamcai

kafka

通过USB接入双目UVC协议外接人脸比对相机实现1:1比对开发

Todd Wong

数字化办公

[Pulsar] ChunkMessageID介绍及其原理

Zike Yang

Apache Pulsar 11月日更

dart系列之:dart中的异步编程

程序那些事

flutter dart 程序那些事 11月日更

【Flutter 专题】03 图解第一个程序 Hello World!

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

别被你的框架框住了

Teobler

angular.js 大前端 React 框架 编程范式

Redis 实现限流的三种方式

大数据技术指南

11月日更

自定义View:如何手写ViewGroup实现ListView效果

Changing Lin

11月日更

Android C++系列:Linux文件系统(二)

轻口味

c++ android jni 11月日更

【LeetCode】最长和谐子序列Java题解

Albert

算法 LeetCode 11月日更

Hive数据抽样与存储格式详解

五分钟学大数据

11月日更

自动驾驶 传感器和计算硬件 易筋 ARTS 打卡 Week 76

John(易筋)

ARTS 打卡计划 arts

【架构实战营】模块四

衣谷

架构实战营

模块四作业:千万级学生管理系统的考试试卷存储方案

dean

架构实战营

一些关于原宇宙的思考

Simon

元宇宙 Metaverse

参与tdengine开源的方式

williamcai

fork git 学习

Prometheus 都可以采集那些指标?-- 常用 Exporter 合集

耳东@Erdong

内容合集

网络安全—如何从IP源地址角度,预防DDoS攻击?

郑州埃文科技

搞定大厂算法面试之leetcode精讲1.开篇介绍

全栈潇晨

算法面经

面试必备(背)--Go语言八股文系列!

微客鸟窝

Go 语言 八股文 11月日更

基于海思Hi3559A或者Atlas_200模块,Hi3559A(主)+Atlas_200(从)开发AI加速边缘计算主板的三种模式

Todd Wong

人工智能 深度学习

【Redis集群原理专题】(1)介绍一下常用的Redis集群机制方案的原理和分析

洛神灬殇

集群 redis cluster redis sentinel 11月日更

CSS架构揭秘之Ant design

Augus

CSS 11月日更

Go语言学习查缺补漏ing Day2

Regan Yue

Go 语言 11月日更

CentOS环境下Redis的安装和配置

Empty

redis

前端开发:VS Code编辑器新建Vue文件自定义模板的方法

三掌柜

11月日更

数据库版本控制中间件flyway企业落地

小鲍侃java

11月日更

十分钟搞懂WebAssembly

俞凡

Wasm

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