惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
D
Docker
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
L
LangChain Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

博客园 - 登峰

VS2010 工具箱装载出错 将用户导入到membership 网络和笔记本 用live writer写博客 javascript写计数器 - 登峰 - 博客园 上海招聘.net程序员 Virtual Machine--Vmware(2) Virtual Machine -- VmWare(1) 代码自动生成操作 - 登峰 - 博客园 病毒惹的祸 一道受用终身的测试题 慎用优化工具 一个简单的存储过程代码生成器 DataGrid的Bug? 哪个是最好的ORM 还原master数据库 Sql Server实用操作小技巧集合(转载) .net 程序发生了一个不可捕获的异常 n取的r的组合数问题
C#设计模式---概述篇
登峰 · 2005-06-22 · via 博客园 - 登峰
     

设计模式似乎很时髦,但却很实在,原因是他能使解决方案既优雅又简单,又可复用.设计模式似乎说的很玄,事实上,设计模式仅仅是一些在项目之间和程序之间复用面向对象代码的简便方法.背后的思想很简单,对通用的对象间的相互作用方式进行记录和编目.来对于武术来讲,这好比是套路,当然是经典还是MVC框架,框架的设计目标就是描述对象如何通信才能不牵涉相互的数据模型和方法,其实跟软件工程的高内聚低耦合的目标是一样的,这也模式追求的目标,也是面向对象追求的目标

刚才提到低耦合,就是分离类,包括封装和继承,对于继承,因为一个子类可以继承父类的所有方法和所有非私有变量,所以一个基类不写得太详细,这是设计模式的一条原则

针对接口编程,而不是针对实现编程

实际上,如果您做过winform并使用继承的话,有时候你会感觉头痛,因为C#只支持类的单继承,如果您继承的是窗体,那麻烦大了,如果基类有任何问题的,你的子窗体将不能重画显示

设计模式的第二条原则是

优先使用对象组合,而不是继承

如何理解这句话,很简单,还是实现低耦合的目标,去年的一个项目消息系统中,就犯了这方面的错误,当时没看这书吧:)

因为一个消息系统中包括底层socket,命令解释器,委托器,发送器,中间层以及GUI,如果这方面的关系不处理好,做出来的系统结构相当差

如果您观察一下设计模式的例子,特别是观察者模式和中介者模式等,您会发现,它处处体现了上述两条设计模式的原则,请再次记住他们

 1. 针对接口编程,而不是针对实现编程

2. 优先使用对象组合,而不是继承