
程序思想-设计模式与设计原则
文章平均质量分 50
程序思想-设计模式与设计原则
Marzlam
志远行近/一步一个小目标-每个阶段做最好的自己~ 三年计划启动中·
展开
-
设计原则与模式关联以及记忆点
责任命令解释器,迭代中介备忘录,观察状态策略变,模板访问者收尾“(工厂方法、抽象工厂、单例、建造者、原型)“适配桥接组合树,装饰外观享元代理”“工厂造单例,建造原型机”原创 2025-04-01 10:16:34 · 201 阅读 · 0 评论 -
一文读懂设计模式行为型11种
行为型设计模式主要关注。,使对象之间能够更好地。原创 2025-03-28 17:35:09 · 252 阅读 · 0 评论 -
一文读懂设计模式之结构型7种
【代码】一文读懂设计模式之结构型7种。原创 2025-03-28 13:57:23 · 448 阅读 · 0 评论 -
设计模式之创建型5种
设计模式之所以被归纳为23种,而非其他数量,源于GoF(Gang of Four)在1994年的系统性总结和分类。原创 2025-03-27 18:01:25 · 928 阅读 · 0 评论 -
面向对象设计原则之汇总
什么是设计原则就是帮助你在设计的时候 提供你一个思路一个好的方案的原则。目的: 开发完成需求 完成项目手段: 运用良好的设计原则与设计模式支持并不是说 一定要设计按照原则来,再合适的时间内用合适的设计原则,进行合适的设计,完成目标。这是最重要的设计原则 是一种参考,像说明书一样。给你个思路。哪些设计原则,设计为了实现哪些情况开闭原则 OCP 应对封装继承:不修改底层封装代码,扩展应对继承延申,达到 复用里氏替换 LSP 应对封装继承:不影响底层封装含义,扩展避免重写重载,到达原创 2021-09-26 16:31:17 · 93 阅读 · 0 评论 -
面向对象设计原则之迪米特法则
什么是迪米特法则官方:最少知道原则,类与类之间 最少的耦合好处低耦合,就意味着相互影响小,一方改动,不完全影响甚至不影响另一方。生活举例租房子 来看一下租客和房东的耦合度租客的目的是租房 房东的目的是出租房在原始租房的时候,房东发信息,租客A去打电话与房东A联系沟通。第二天 租客A发现预算不够于是跟房东A打电话,发现不行了,于是开始跟预算中的房东B打电话。第三天,房东B说不租了。于是租客A又跟房东C开始联系。发现没有 很麻烦,租客与房东直接联系确实 一个点改动 两方都影响。接着原创 2021-09-26 15:24:28 · 102 阅读 · 0 评论 -
面向对象设计原则之依合成复用原则
合成复用原则复用? 继承不就是 继承父类达到了复用效果吗?是的,但是 开闭原则和里氏原则 起到了一定规范作用,在继承多的时候,考虑的设计也就相对复杂了些。所以博主认为聚合合成复用 不继承想复用。于是就不继承多关联的概念其实 继承 也是一种 强耦合 而关联 比起继承 松了点 可只在关联处做文章。接口合成复用 当接口职责分离出来 进行组装 合成继承如何聚合合成复用既然 没有直接:继承 那关联要用到对方的方法什么的,怎么办?依赖注入注入进来并且使用,之后如果 关联A 换成原创 2021-09-24 20:15:05 · 98 阅读 · 0 评论 -
面向对象设计原则之接口分离原则
何为接口分离原则继承 只能继承一个 类,但是可以继承多个接口。为什么可以多个接口,我觉得就是因为这个原则。变相的说明了 接口的 职责是按照 单一职责原则来创建的。接口分离就是 分离接口职责。不分离接口又怎么样不分离 就意味是 一个接口呗,里面有 1 2 3 4 5个方法。所有继承此接口 都必须实现 1 2 3 4 5 ,那不管你用不用到反正都得写。这就 把 不是单一职责的弊端 体现出来了,我不需要我还要写,我请求把不需要的剥离开,1 2 3 4 5个接口 需要1的继承1 需要2的继承2原创 2021-09-24 19:13:18 · 251 阅读 · 0 评论 -
面向对象设计原则之依赖倒置原则
什么是依赖倒置原则依赖:依赖什么 抽象倒置:倒置什么 依赖关系以简单三层来说,通常 ui层–bll层–dal层 逐渐深入调用 而用到对象的时候就new 一个出来 这是之前很正常的操作。可以看到,这时的代码 创建对象 依赖于new 调用层级也是 一层一层的。换句话说,这样的代码 太到位了,非常具体有条例,调用按部就班,对象实列也清晰明了。但是,逻辑清晰的背后就是,如果具体的东西 太多,这显然维护起来是比较难搞的。于是乎为了 偷懒为了好维护,就想办法 怎么能让这类似同行为的对象原创 2021-09-23 18:35:46 · 114 阅读 · 0 评论 -
面向对象设计原则之里氏替换原则
里氏替换原则定义这个名字中 里氏 是发明者姓氏。替换 是 指重构,而一般就是 在 继承时才有重构一说,也就是重写,重载里氏替换原则通俗的来讲就是:继承中的子类与父类的一些重写重载好的规则,让代码更健壮。核心:子类可以扩展父类的功能,但不能改变父类原有的功能。为什么要用这个原则因为不用这个 容易出现问题,比如 基类A 有个方法a 类B 继承A 然后重写了方法a 那这样就导致 实例化出一个B对象 调用a 是调用的自己的个性化方法,那如果 C类继承了B ,往下走就更说不清了,所以用这个原则来原创 2021-09-23 14:42:09 · 158 阅读 · 0 评论 -
面向对象设计原则之开闭原则
开闭原则 开的是什么 闭的是什么开的是 开放扩展 闭的是 底层内部修改为什么要开闭为的也是松耦合开就是 继承 通过继承 底层(一般是接口/类)来 扩展行为闭就是 封装 通过封装 底层(一般是接口/类)来 保护行为为什么要保护又要扩展开发代码的过程中,一定有修改扩展维护。为了保证之前写的不受影响,又能保证可以继承适用之前的代码去扩展。这就是核心。所以概括就是说:想继承偷懒适用,但是又不想干涉到共同继承了底层的兄弟门,所以就只能 闭底层 开自己,让自己扩展一下自己用,来达到松耦合。原创 2021-09-22 18:39:24 · 118 阅读 · 0 评论 -
面向对象设计原则之单一职责
何为单一职责 SRP定义:There should never be more than one reason for a class to change,应该有且仅有一个原因引起类的变更。职责:业务逻辑,或者对象能够承担的责任,并以某种行为方式来执行。就是划分职责到单一目标,差不多就这意思一心一意。适用范围 职责定义类、接口、方法职责:可以理解为为了完成一种对象行为的载体为什么要遵循这个原则为了解耦,解耦的目的就是维护扩展性更高。我们都知道写代码大概率是要进行修改和维护的,不论是改bug还原创 2021-09-22 16:40:19 · 169 阅读 · 0 评论