• 本文试图解释 Rust 如何偏离面向对象编程范式的原则以及为什么这是一件好事? Rust不是一种面向对象的编程语言。 Rust可能看起来像一种面向对象的编程语言:类型可以与 "方法 "相关联,要么
  • 尽管自构思 SOLID 原则以来的 20 年来计算发生了很大变化,但它们仍然是设计软件的最佳实践。SOLID 原则是经过时间考验的用于创建高质量软件的准则。但在多范式编程和云计算的世界里,它们还能叠加吗?我将探索 SOLID 代表什么(字面上和比喻上),解释为什么它仍然有意义,并分享
  • 问:我的背景是来自php和一点点java,在这种条件下,我已经养成了使用面向对象的习惯,所以当我用go写一个api时,我使用了java中的oo概念,并在go中使用(到处都是指针,大胆的接口和浅层模块),但go不是过程化的吗? 如何在这里最大限度地正确抽象和项目架构来制作一个api? icon
  • 在2014/15年的冬天,我是一名大学生,我的特点是手上有太多的空闲时间,却没有足够的钱让自己在空闲时间里忙碌。无聊又没钱,编程是一个完美的爱好。如果你已经拥有一台电脑,它是免费的,而且当你与无聊作斗争时,时间的投入并不令人气馁。我是在别人的推荐下选择学习Python的,我可以发自内心地把这 icon
  • 什么是类?根据字典,一个类是: 一组、集合、群体或配置,其中的成员被认为具有某些共同的属性或特征;一个种类或类别。 现在在阅读下一段时考虑一下这个定义: icon
  • 本文是世界最大问答社区Stack Overflow和 Discourse 的联合创始人的文章:2004 年,当我第一次阅读 icon
  • Java 中的重构有很多方面,但其中有两个基础:面向对象和 icon
  • 我学习了DDD领域驱动设计、六边形架构和面向数据的编程。我在 Airbnb与Daniel Low在Krispr icon
  • DRY 来自“Don't Repeat Yourself”的首字母缩写词,是最普遍的开发原则之一。它是由Andy Hunt和Dave Thomas在他们的书The Pragmatic Programmer中创造的。DRY不是简单的“不要重复自己!”,它的关键是识别一种模式并用理想的抽 icon
  • 本文解释了为什么 Python 不使用传值系统,也不使用传引用。当你在 Python 中调用一个函数并给它一些参数时......它们是按值传递的吗?不!引用?不!他们是通过分配赋值assignment传递的。许多传统的编程语言在向函数传递参数时采用以下两种模型之一: icon
  • OO 是通过本体语言对领域进行建模:你建立了一个类层次结构,使用组合和继承。这构成了一种隐含的、开放的 DSL。 许多 OO 建模感觉就像试图提出名词和动词(类和方法)以使问题域更易于访问,这隐含地形成了一种特定于域的语言。它是一个“开放”的 DSL,因为它与外部的事物交互并 icon
  • 过度(滥用)继承一直是OO的最大问题之一。组合可以在OO或FP中实现,对FP的了解(哪怕是一点点)可以积极地影响你如何写OO代码。 继承不应该是学生们学习的第一件事,但它却是。我看到很多初学者从第一天开始就接触到这种垃圾。它是这样的 icon
  • 在这篇文章中,我想描述如何向已经存在代码中添加新行为,所有主流语言都提供这样的功能, Java 是唯一在这方面没有提供任何内容的语言。解释型语言允许扩展外部 API,而编译型语言则不允许——Kotlin 是个例外。 JavaScript icon
  • 低层设计(LOW LEVEL DESIGN,简称LLD)面试很痛苦,如果您想破解 SDE 2,FAANGM 和所有其他 TOP STARTUPS 都要求您通过这一轮,与您分享一份完整指南,帮助您顺利破解这些 LLD: 什么是低级设计 icon
  • 通过将应用数据放置在后续内存区域中获得更高性能。这使得CPU更容易加载和工作。 经典的面向对象编程 (OOP) 将其数据放在内存中,就像意大利肉酱面一样——对象和指针都混在一起了。这很好,直到您想对数据进行一些密集计算。 icon
  • 如果您是一名 Java 开发人员并且对技术充满热情,那么您可以遵循这十个步骤,让您成为一名出色的 Java 开发人员。 1. 对OO原则有坚实的基础和理解对于一个Java开发者来说,对面向对象编程有深刻的理 icon