自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 设计模式之工厂模式

工厂模式分三种:简单工厂模式、工厂方法模式、抽象工厂模式。

2023-04-17 17:45:28 193

原创 设计模式之单例模式

单例模式:通过单例模式可以保证系统中一个类只有一个实例,并提供全局的访问点,对很多系统中的某些类来说,只有一个实例很重要,比如,线程池、连接池、日志打印等。单例模式的特点:只能有一个实例、该实例必须是主主创建、必须向整个系统提供该实例。

2023-04-17 17:34:18 65

原创 迪米特法则(LOD)

有依赖关系的类之间,尽量只依赖必要的接口。迪米特法则是希望减少类之间的耦合,让类越独立越好。对上述代码进行改造使之符合迪米特法则:把细节都封装起来了,只需要对外提供一个方法,调用方只需要调用这一个方法就可以了并且不需要担心出现问题。对于Person而言,只需要知道,关机按钮在哪就行,不需要知道如果保存数据,如果关闭进程,如何断电等等细节…对于其他的类知道的越少越好(字段、方法参数、方法返回值、方法中实力出的对象等)。上述代码中Person对Computer的细节知道的太多了。

2023-03-15 17:18:04 131

原创 依赖反转原则(DIP)

在实现依赖反转原则时,我们需要针对抽象层编程,而将具体类的对象通过依赖注入(DependencyInjection, DI)的方式注入到其他对象中,依赖注入是指当一个对象要与其他对象发生依赖关系时,通过抽象来注入所依赖的对象。构造注入是指通过构造函数来传入具体类的对象,设值注入是指通过Setter方法来传入具体类的对象,而接口注入是指通过在接口中声明的业务方法来传入具体类的对象。这些方法在定义时使用的是抽象类型,在运行时再传入具体类型的对象,由子类对象来覆盖父类对象。

2023-03-15 17:17:06 213

原创 接口隔离原则(ISP)

在面向对象编程语言中,实现一个接口就需要实现该接口中定义的所有方法,因此大的总接口使用起来不一定很方便,为了使接口的职责单一,需要将大接口中的方法根据其职责不同分别放在不同的小接口中,以确保每个接口使用起来都较为方便,并都承担某一单一角色。以粗粒度来看,未拆分前的代码做的事情只跟统计相关已经符合了接口隔离原则,但是在单一职责原则中也提到了评价一个类的职责是否足够单一,我们并没有一个非常明确的、可以量化的标准,可以说,这是件非常主观、仁者见仁智者见智的事情。

2023-03-15 17:14:24 264

原创 里氏替换原则(LSP)

它是一种代码实现的思路。而里式替换是一种设计原则,是用来指导继承关系中子类该如何设计的,子类的设计要保证在替换父类的时候,不改变原有程序的逻辑以及不破坏原有程序的正确性。里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。里式替换是一种设计原则,是用来指导继承关系中子类该如何设计的,子类的设计要保证在替换父类的时候,不改变原有程序的逻辑以及不破坏原有程序的正确性。

2023-03-15 17:11:48 61

原创 开闭原则(OCP)

第二点:在不同的粒度下对扩展和修改的认识不同,在类维度的视角下,修改该类中的代码属于修改,但是以该类中的方法为维度的视角下可能又被定义为扩展,所以扩展和修改并不是绝对的。如果系统功能设计的符合开闭原则的话,那么在进行需求迭代的时候可以很方便的进行扩展,而无需对现有的逻辑代码进行修改,或者是对现有代码的修改尽可能的小。在该代码段中,如果需要在增加一个新的车品牌,则需要修改ShowCar类的displayCar()方法的源代码,增加新的判断逻辑,违反了开闭原则。现对该系统进行重构,使之符合开闭原则。

2023-03-15 17:11:15 170

原创 单一职责(SPR)

设计模式 单一职责模式

2023-01-12 15:46:18 178 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除