QZQ的小世界!

  • 首页
Python理论精进
未分类

单一职责原则

定义 这个原则还是挺简单易懂的,就是一个类应该只负责具体的一项工作。那完成计时也是工作,完成AI模型训练也是工作,工作大小如何界定? 单一职责原则的原话是: 一个类应该有且只有一个变化的原因。 There should never be more than one reason for a class to change. 为什么将不同的职责分离到单独的类中是如此的重要呢? 因为每一个职责都是一个变化的中心。当需求变化时,这个变化将通过更改职责相关的类来体现。 如果一个类拥有多于一个的职责,则这些职责就耦合到在了一…

2025年4月4日 0条评论 43点热度 0人点赞 QZQ 阅读全文
未分类

最少知识原则

定义 最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。其可简单的归纳为: Each unit should have only limited knowledge about other units: only units "closely" related to the current unit. 每个单元对其他单元只拥有有限的知识,只了解与当前单元紧密联系的单元; 应用到面向…

2025年4月4日 0条评论 44点热度 0人点赞 QZQ 阅读全文
未分类

开放封闭原则

定义 在面向对象的设计中有很多流行的思想,比如说 "所有的成员变量都应该设置为私有(Private)","要避免使用全局变量(Global Variables)","使用运行时类型识别(RTTI:Run Time Type Identification,例如 dynamic_cast)是危险的" 等等。那么,这些思想的源泉是什么?为什么它们要这样定义?这些思想总是正确的吗?本篇文章将介绍这些思想的基础:开放封闭原则(Open Closed Principle)。 早在1988年Bertrand Meyer 就给出了…

2025年4月4日 0条评论 48点热度 0人点赞 QZQ 阅读全文
未分类

接口分离原则

定义 接口分离原则(Interface Segregation Principle)用于处理胖接口(fat interface)所带来的问题。如果类的接口定义暴露了过多的行为,则说明这个类的接口定义内聚程度不够好。换句话说,类的接口可以被分解为多组功能函数的组合,每一组都服务于不同的客户类,而不同的客户类可以选择使用不同的功能分组。 简单来说,就是“客户端程序不应该依赖于它不需要的接口”。如果一个子类为了继承了父类,实现或者空载了父类很多方法,也就是父类一堆方法对它来说完全没用,那么这种情况就不符合接口分离原则。 …

2025年4月4日 0条评论 43点热度 0人点赞 QZQ 阅读全文
未分类

依赖倒置原则

前言 自己在写一些工程的时候,发现各种模块要重写很多次,感觉自己“思路不清晰”…毕竟自己不是科班出身,实际干起活就感觉差点东西。 后来在网上学习的时候,发现了一些有关“面向对象编程的设计原则”的文章。小看一眼,感觉灵光一现,好东西! 然而网上大多数教程都是用Java来写的,这里就使用python来重写一下,顺便理理自己的思路。 定义 这里就照搬了: 1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。 2、抽象不应该依赖于细节,细节应该依赖于抽象。 High level modules should not de…

2025年4月4日 0条评论 41点热度 0人点赞 QZQ 阅读全文
未分类

里氏替换原则

定义 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。 里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。 简单来说 一个软件实体如…

2025年4月4日 0条评论 43点热度 0人点赞 QZQ 阅读全文

QZQ

一只涉猎广泛的技术爱好者,绝赞养猫中~

docker IT技术 Python Python实战 Python库介绍 Python标准库 Python理论精进 Python第三方库 Pytorch和它学不完的AI =.= wordpress 云服务器 小红书 思考 技术随笔 探店 旅行游记 武大人今天的饭 生活 随笔 零碎 python 小知识

COPYRIGHT © 2024 QZQ的小世界!. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang