首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
收藏
订阅
杨贺淞
更多收藏集
微信扫码分享
微信
新浪微博
QQ
798篇文章 · 0订阅
设计模式六大原则(五)----迪米特法则
一. 什么是迪米特法则 迪米特法则(Law of Demeter )又叫做最少知识原则,也就是说,一个对象应当对其他对象尽可能少的了解。不和陌生人说话。英文简写为: LoD。 迪米特法则的目的在于降低
【设计模式】设计原则-SOLID、DRY、KISS、YAGNI、LOD
1. SOLID原则 1.1.1 定义:一个类或模块只负责完成一个功能。 理解:不要设计大而全的类,要设计粒度小、高性能单一的类。该原则的目的是为了实现代码高内聚、低耦合、提高代码复用性、可读性以及可维护性。 类中的代码行数、函数、属性是否过多。可以考虑对该类进行拆分; 补充:…
组合优于继承
组合优于继承。 继承打破了类的封装性,子类依赖于父类中特定功能的实现细节。 在包的内部是用继承,不存在跨包继承。 专门为了扩展而设计,并且具备很好的文档说明。 实现这样一个HashSet,可以跟踪从它被创建之后曾经添加过几个元素。 类中使用 addCount 字段记录添加元素的…
深入理解container--容器运行时
我们都知道,容器技术其实在很久以前就已经出现,但只是在最近十年由于云计算的发展才逐渐进入大众的视野。对于容器运行时,传统意义上来说就是代表容器从拉取镜像到启动运行再到中止的整个生命周期,较类似于Jav
一文彻底弄懂零拷贝原理
零拷贝(Zero-Copy)是一种 I/O 操作优化技术,可以快速高效地将数据从文件系统移动到网络接口,而不需要将其从内核空间复制到用户空间。
深入理解Golang之channel
Golang在并发编程上有两大利器,分别是channel和goroutine,这篇文章我们先聊聊channel。熟悉Golang的人都知道一句名言:“使用通信来共享内存,而不是通过共享内存来通信”。这句话有两层意思,Go语言确实在sync包中提供了传统的锁机制,但更推荐使用ch…
AntDesign表单的理解与使用
虽然 react 没有内置的表单验证逻辑,但是我们可以使用 react 组件库 AntDesign 中的表单组件 Form 来实现这一需求。 在 Form.Item 中设置校验规则,在表单提交或表单输入变化时,通过执行 this.props.form.validateField…
深入理解Coroutine(协程)及其原理以及Coroutine in Kotlin
最近Coroutine(协程)开始流行起来,在python,Go语言得到应用,在Kotlin也大放异彩,大火的Flutter的也用到了Coroutine,本篇文章以Coroutine在Flutter中的应用作为Motivation Example,并随之深入理解Coroutin…
彻底理解 IO 多路复用实现机制
为了加深对 I/O多路复用机制 的理解,以及了解到多路复用也有局限性,本着打破砂锅问到底的精神,前面我们讲了BIO、NIO、AIO的基本概念以及一些常见问题,同时也回顾了Unix网络编程中的五种IO模型。本篇重点学习理解IO多路复用的底层实现机制。 现在操作系统都是采用虚拟存储…
Xcode Build 配置文件
软件开发最佳实践 规定了 配置与代码的严格分离。然而,苹果平台上的开发人员常常难以将这些指导原则与 Xcode 繁重的项目工作流程结合起来。 了解每个项目设置的功能以及它们之间如何交互,是一项需要多年磨练的技能。但 Xcode 将大部分的这类信息都都深埋在其图形化界面中,这对我…