首页 > 其他分享 >Datawhale组队学习——大话设计模式Task01学习笔记

Datawhale组队学习——大话设计模式Task01学习笔记

时间:2022-12-14 00:55:51浏览次数:69  
标签:原则 代码 Datawhale 开发 Principle Task01 设计模式

闲言碎语

有次和学长闲聊提到了设计模式,也推荐了一个B站的视频。然后也一直忙别的事情始终没有好好学习一下。恰逢学期末有时间,datawhale又出了这门新教程,便一起学习下,看看何为设计模式。

初识设计模式

“设计模式”这四个字在我仅凭第一感觉,不做别的了解,我会认为是研究讨论程序设计的方法论,告诉我们怎么样才能更好地去完成代码开发。在阅读完Task01部分内容后,我发现真正意义上的“设计模式”和我想当然的“设计模式”还是有点不一样,比如:

不同的模式适用于不同的功能和设计,相反,同样的功能和设计在不同阶段或背景下也可能需要不同的模式。模式没有好坏,只有适不适合。

也就是说,这是一种/多种很灵活、抽象的代码编写理念,与我们高中写议论文套模板的套路不些一样,它更像是以需求为导向的一种/多种设计方法。在我的理解里,项目开发的需求有两大块,一是更高效地实现程序所要实现的功能,二是尽可能减小程序开发和后期维护的成本。所以设计模式本质上是为了让我们更高效地实现程序地功能、减小程序开发和后期维护的成本。这么说可能有些啰嗦,简而言之,就是:
1.更好的写代码,写出更好的代码
2.让写的代码更便于维护
3.便于团队开发时沟通解决问题,提高开发效率
即简介中所提到的:

设计模式可以让系统更加稳固、代码更加清晰。
设计模式是一种可用于工程师之间沟通的「高效语言」,当我们在讨论和分析问题时,简单几个字就可以让彼此明白心意。

需要注意的一点是,它不同于算法,它是开发代码时的一种/多种整体上思路,不考虑具体实现的细节,更为抽象。
二十三种设计模式的概览:

设计原则

  • 单一职责原则(Single Responsibility Principle,SRP):修改一个类的原因只有一个。

    即松耦合

  • 开闭原则(Open-Closed Principle,OCP):对于扩展类应该开放,对于修改类应该封闭。

    方便修改和拓展、便于后期开发和维护

  • 迪米特法则(Law of Demeter,LoD):也叫最少知识原则,类应尽量降低成员的访问权限,即耦合尽可能弱。

    降低类之间的耦合,提高复用率

  • 依赖倒置原则(Dependency Inversion Principle,DIP):高层次的类不应依赖低层次的类,都应依赖于抽象接口。

    这里比较抽象,有点感觉,但暂时举不出一个很恰当的例子,等待灵感ing

  • 里氏替换原则(Liskov Substituion Principle,LSP):扩展一个类时,能够(不修改代码)将子类的对象作为父类对象进行传递。和依赖倒置原则意思接近。

    同上

此外,还有下面常见的设计原则:

标签:原则,代码,Datawhale,开发,Principle,Task01,设计模式
From: https://www.cnblogs.com/ChangciWei/p/16981050.html

相关文章

  • 设计模式:观察者模式(有利于代码解耦)
    那你说说观察者模式和发布订阅模式的区别?我脑海立刻闪现《HeadFirst设计模式》里面讲的:​​Publishers+Subscribers=ObserverPattern​​,问这么简单的问题难道是看不......
  • 设计模式之美--工厂模式之抽象工厂
    使用场景:创建的对象分类规则更加复杂。针对情形设计对象层级。举例:针对规则配置解析器jsonxmlyamlproperties针对系统配置解析器jsonxmlyamlproperties......
  • 设计模式之美--工厂模式之工厂方法
    使用场景:对象创建的逻辑比较复杂,且对象种类较多。将创建对象的复杂逻辑放到对应工厂去实现。优点:比简单工厂更符合开闭原则缺点:如果创建对象的逻辑很简单,使用这种模式是......
  • 设计模式之美--工厂模式之简单工厂
    核心demo代码:publicclassRuleConfigParserFactory{publicstaticIRuleConfigParsercreateParser(StringconfigFormat){IRuleConfigParserparser=......
  • 设计模式之美--单例模式
    单例模式的几个实现方式:实现递增id生成器饿汉式/***饿汉式(不支持延迟加载)*@authorlq*@version:IdGenerator.java,v0.12022年12月13日10:19lqExp$......
  • 设计模式之工厂设计模式
    1.开发环境IDEA版本:2022.1.4JDK版本:17.0.3 2.模式由来2.1自定义MailSender类2.2自定义Computer类2.3分析图2.4案例分析由于Computer类和MailSender......
  • 设计模式-策略模式
    设计模式-策略模式  代码写作过程中,设计模式是对某些固定场景代码写作的总结和优化,最常见的设计模式,除了单例模式外,还有工厂模式和策略模式。 工厂模式是一种创建型......
  • MongoDB - 数据模型的设计模式
    简介官方文章的地址是BuildingwithPatterns:ASummary,其中汇总了12种设计模式及使用场景。上述的图表列举了12种设计模式及应用场景,主要是以下这些:近似值模式......
  • 前端_js设计模式
    什么是设计模式1.什么是设计模式设计模式是前人总结出的,解决开发中某类问题的方法;我们在过去的代码编写中已经接触过很多的设计模式了,只不过当时咱们不知道这就......
  • c#设计模式之原型模式
    原文网址:https://blog.csdn.net/FireworksFlower/article/details/121728335官方:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象我的话:原型模式:......