Datawhale 大话设计模式

前言

心得:

这一章主要介绍了这本书的来源和相关主要概念,我后续应该不会涉及到软件开发的相关工作。我学习这本书的主要目的其实是帮助我理解相关世界运行的本质原则,帮我我在商业规则上找到灵感。今天初步看了第一章的相关原则,通过书中的相关案例,确实对我有一定帮助。其实有些朋友说我看这个没有用,但是我觉得不然,学习这本书是跟现实世界最本质的原理是有关的。这些原则可以帮助我优化公司现有的流程。

单一职责原则:

The Single Responsibility Principle,是指一个类就应该有一个原则,修改一个类不会影响其他类的效用。其实这个有点跟内控有关的知识,每个公司内部部门都应该有其单一的主要职责,如果职责太多就会导致问题发生。其实就像公司中目前的有些部门一样,职责不清,导致问题推诿,一直得不到解决。最终产生大量的内部损耗。

开闭原则:

The Open-Closed Principle,是指增加一个新功能的话,主要通过扩展新的代码的方式进行增加功能,而不是通过修改原来的代码。这样子能够保持原来代码实现功能达成的稳定。

依赖倒置原则:

Dependence Inversion Principle,是指程序不应该依赖细节,细节应该依赖于抽象。简单来说,就是要针对接口编程,不要针对实现编程。这个原则我觉得很重要。其实这个原则很像musk说的事物的第一性原则,就是要针对事物的本质进行研究,并且搭建相关的商业模型。如果对事物的本质做好的工作搭建,未来可以建立起整个行业的商业化标准。

里氏替换原则:

Liskov Substituion Principle,这个简称是LSP,哈哈哈。这个原则其实对我而言很难理解。原则的本意是指一个软件实体如果使用的是一个父类的话,一定适用于其子类,而且它察觉不出父类和子类的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单来说,子类型必须能够替换掉它们的父类型。也就是说前后环节可以衔接,这个我不知道感觉对不对。

迪米特原则:

Law of Demeter,简称 LoD,也叫最小知识原则。是指如果两个类不必彼此互相通信,那么这两个类就不应当发生直接的相互作用;如果其中一个类需要调用另一个类的某一个方法,可以通过第三者转发这个调用。
这个原则其实很形象了。平常工作中,每个部门其实都有一个企划接口,通过这个企划接口去承接外部各个部门的需求,通过这个接口进行快速的调度,而不是外部任务直接找到相应的人。这样子虽然表面上看上去很快,但是找到的人不一定合适,也不一定有空。通过调度接口,我想这也是我们公司有一个调度部门的缘由把。

任务二:设计模式

昨天加班到9点,回去忘记打开了。今天上午刚好认真看看。

装饰模式:

到这里其实我已经看不懂了。但是我也简单模仿阐述一下,装饰模式是什么把。简单的说装饰模式就是通过创建一种结构,作为装饰类别,去嵌套在其他类别上,可以简单的改变原有类的功能,但是又不会改变原来类的核心代码。

代理模式:

代理模式其实就是迪米特原则的应用。通过创建一个代理对象,在甲方和乙方之间进行沟通,提升二者之间的沟通效率。
通过应用代理模式,可以实现开闭原则和和单一原则的进一步深入应用。减少原双方间的无效沟通。

策略模式:

策略模式我觉得就是类似与if循环函数或者np.where。通过一行代码实现不同情况下的算法判断。比如书中提到的例子。要对不同客户不同产品判断什么样的折扣。

建造者模式:

了解过这种模式,给我感觉是依赖倒置原则的运用。关注程序主体的建造,不关注整个流程过程中的环节,而不关注过程中的细节。关注整个环节的顺序。可能最后出来的结果有高矮胖瘦。但是他不关系,只是关注整个过程是否符合相应的标准。

工厂方法模式:

这个让我想起了小米公司的营销噱头,他们建立的黑灯工厂的智慧生产模式。就是通过将工厂无人化,整个生产流程制定好,不需要给工人照明的亮光,建立起整个生产流程体系。应用在软件的内部框架中。

观察者模式:

这个是迪米特原则的运用,即两个类互相之间需要调用,则需要通过第三方进行转接通信。所以观察者模式,顾名思义,通过设立一个观察者,对群内的所有对象发出通信,减少了各个对象之间的效率损耗,提高各个对象工作的或者说摸鱼的效率。

状态模式:

状态模式是指通过先定义一系列的状态,提前做好部署。通过不同时间,不同需求对对不同状态进行切换,省去了临时对当前环境进行定义的烦恼。通过各种状态模式去除了相关条件逻辑判断,使得代码更加简单,整体系统的逻辑更加高效。

适配器模式:

这种模式就像案例中的翻译一样,因为出国不懂英文,又不可能临时去学习英语。就可以通过建立一个适配器的方法。快速的解决相关问题。其实这个就可以引申到生活中的一系列相关案例了。比如火灾时候的灭火器,汽车上的备胎,其实都是这个思路。

单例模式:

单例模式其实是单一职责原则的运用,通过设置单例来体现一种功能的实现,而不是通过再设置单例去完成相同功能。也就是说一种功能只通过一个单例实现其功能。而不是多个单例去实现相同的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值