QZQ的小世界!

  • 首页
你好!
这里是QZQ的博客站!
未分类

接口分离原则——Python案例理解

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

2024年12月30日 0条评论 349点热度 0人点赞 QZQ 阅读全文
未分类

单一职责原则——Python案例理解

定义 这个原则还是挺简单易懂的,就是一个类应该只负责具体的一项工作。那完成计时也是工作,完成AI模型训练也是工作,工作大小如何界定? 单一职责原则的原话是: 一个类应该有且只有一个变化的原因。 为什么将不同的职责分离到单独的类中是如此的重要呢? 因为每一个职责都是一个变化的中心。当需求变化时,这个变化将通过更改职责相关的类来体现。 如果一个类拥有多于一个的职责,则这些职责就耦合到在了一起,那么就会有多于一个原因来导致这个类的变化。对于某一职责的更改可能会损害类满足其他耦合职责的能力。这样职责的耦合会导致设计的脆弱,…

2024年12月30日 0条评论 285点热度 0人点赞 QZQ 阅读全文
未分类

关于茶饮自动化硬件的个人调查 - 2024年12月

2024.12.16 前言 下周要准备一下古茗硬件产品经理的终面了,毕竟我非硬件技术出身(他们那边似乎更想要机械自动化专业的同学),所以竞争力肯定要弱点的。想要取胜,只能靠更强的产品力,以及临时抱佛脚了。所以想要不要提前调查一下现在茶饮门店硬件的一些情况。 之前的面试有提到古茗有一个战略级部门——智能硬件部。虽然面试官告诉我他们目前并不“智能”,还在捣鼓咖啡机之类的东西,但是结合茶饮市场的现状,未来茶饮门店的硬件一定以网络及自动化为核心。所以如果我有幸入职,捣鼓完奶茶机咖啡机之后,大概率需要面对这样一个问题——如何…

2024年12月25日 0条评论 281点热度 0人点赞 QZQ 阅读全文
未分类

依赖倒置原则——Python案例理解

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

2024年12月25日 0条评论 294点热度 0人点赞 QZQ 阅读全文
未分类

里氏替换原则——Python案例理解

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

2024年12月25日 0条评论 291点热度 0人点赞 QZQ 阅读全文
未分类

开放封闭原则——Python案例理解

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

2024年12月25日 0条评论 282点热度 0人点赞 QZQ 阅读全文
未分类

最少知识原则——Python案例理解

定义 最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略。其可简单的归纳为: Each unit should have only limited knowledge about other units: only units "closely" related to the current unit. 应用到面向对象的程序设计中时,可描述为: "类应该…

2024年12月25日 0条评论 269点热度 0人点赞 QZQ 阅读全文
未分类

DEBUG:新版 pyLDAvis 兼容性问题解决 AttributeError: module 'pyLDAvis' has no attribute 'lda_model’

前言 最近文艺复兴了在搞LDA主题模型,然而做可视化的时候发现一堆问题,说的就是pyLDAvis这个包。要做lda肯定绕不过的,这玩意可视化是真好看,六七年前的设计现在依然能打。 然而由于lda热度不在,pyLDAvis的新版接口几乎没人说明怎么用…我参照之前的教程搞一堆报错出来,找遍网上也没最新的资料…好在最后终于摸索出来了,因此就在这总结一下,希望大家少走弯路。 我使用的环境是 报错1:AttributeError: module 'pyLDAvis' has no attribute &#…

2024年12月24日 0条评论 243点热度 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