Amazing .NETAmazing Arch.NET

闲谈设计模式

2020-07-10  本文已影响0人  天天向上卡索

闲谈设计模式

Intro

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

了解这些前辈们总结出来的经验有助于帮助你写出来更优秀的代码,帮助你写出可扩展、可读、可维护的高质量代码。

在极客时间里推出了数据结构和设计模式的王争说了一句话,如果说“数据结构与算法之美”是教你写出高效的代码,那设计模式就是教你写出高质量的代码。

为什么要学习设计模式

  1. 提升自己代码质量,告别写被人吐槽的烂代码
  2. 提高复杂代码的设计和开发能力,设计出扩展性良好,可维护性更强,可复用性更好的代码
  3. 让读源码、学框架事半功倍,学会设计模式,在看框架源码的时候会更好的理解框架中的一些功能设计
  4. 为你的职场发展做铺垫,提升自己 code review 能力,把控团队代码质量

设计模式设计原则

设计原则是指导我们代码设计的一些经验总结,对于每一种设计原则,我们需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景。只有这样,我们才能在项目中灵活恰当地应用这些原则。

Overview 概览

【DesignPatterns】 项目是用 C# 写的一些设计模式的示例,基于 .netcore 3.1,大部分示例来自《大话设计模式》

设计模式大体上可分为三类:

More

我们上面提到的设计原则有六个,现在有的文章说是有七个,多出来的一个原则是 “组合由于继承”,主要是强调多用组合而非继承,因为继承可能会引入很多不必要的东西,而且很多语言的设计是不允许多继承的,C# 就是单继承的语言,一个类只能有一个父类。

继承主要有三个作用:表示 is-a 关系,支持多态特性,代码复用。而这三个作用都可以通过组合、接口、委托三个技术手段来达成。除此之外,利用组合还能解决层次过深、过复杂的继承关系影响代码可维护性的问题,所以很多情况下组合是比继承更好一些的。

王争在设计模式专栏中总结了一些设计模式和设计原则的一些知识点,分享一下,可以作为学习设计模式的参考:

image

Reference

上一篇 下一篇

猜你喜欢

热点阅读