OOP教程指南

     

为复杂性语言辩护:类的意义 - viralinstruction

1283 1 8K
在2014/15年的冬天,我是一名大学生,我的特点是手上有太多的空闲时间,却没有足够的钱让自己在空闲时间里忙碌。无聊又没钱,编程是一个完美的爱好。如果你已经拥有一台电脑,它是免费的,而且当你与无聊作斗.

面向数据的编程 · Laurent

1168 1 5K

我学习了DDD领域驱动设计、六边形架构和面向数据的编程。我在 Airbnb与Daniel Low在Krispr的工作中使用了前两个。当我们的需求发生变化时,它可以更轻松地扩展项目、重新设计其依赖项和交.

面向对象OO与DSL - typeswitch

1060 1

OO 是通过本体语言对领域进行建模:你建立了一个类层次结构,使用组合和继承。这构成了一种隐含的、开放的 DSL。 许多 OO 建模感觉就像试图提出名词和动词(类和方法)以使问题域更易于访问,这隐含地形.

为什么SOLID原则仍然是现代软件架构的基础?- StackOverflow

2572 5 3K

尽管自构思 SOLID 原则以来的 20 年来计算发生了很大变化,但它们仍然是设计软件的最佳实践。SOLID 原则是经过时间考验的用于创建高质量软件的准则。但在多范式编程和云计算的世界里,它们还能叠加.

哪些语言能更优雅地实现装饰器模式? - frankel

1296 1 7K

在这篇文章中,我想描述如何向已经存在代码中添加新行为,所有主流语言都提供这样的功能, Java 是唯一在这方面没有提供任何内容的语言。解释型语言允许扩展外部 API,而编译型语言则不允许——Kotli.

Python为什么不是传值或传引用? - mathspp

1490 1 7K

本文解释了为什么 Python 不使用传值系统,也不使用传引用。当你在 Python 中调用一个函数并给它一些参数时......它们是按值传递的吗?不!引用?不!他们是通过分配赋值assignment.

DRY原则:识别模式并抽象概括 - javierdearcos

1176 1

DRY 来自“Don't Repeat Yourself”的首字母缩写词,是最普遍的开发原则之一。它是由Andy Hunt和Dave Thomas在他们的书The Pragmatic Programm.

软件可重用的"三法则rule-of-three"

1928 2

本文是世界最大问答社区Stack Overflow和 Discourse 的联合创始人的文章:2004 年,当我第一次阅读《软件工程的事实与谬误》时,它提到:软件可重用有两个“三规则”: 构建可重用组.

重构贫血模型提高代码的DDDness - Alexander

1356 1 9K

这是一个实用指南:结合DDD和OOP展示如何通过封装构建意图暴露一个类的API?这篇博文中的所有代码都可以在这里找到。对我来说,DDD 就是构建意图揭示 API。它关于将业务概念和规则封装在对象中,也.

函数式编程 vs 面向对象编程 vs 过程式编程的JS演示比较 - DEV

2649 5 9K

这是一个真实的例子,展示了三种最常见的编程范式的差异。我将用三种不同的方式解决一个问题。每个示例将处理表单提交、验证用户输入并将创建的用户打印到控制台。我还添加了保存错误记录器。 案例表单<!DOCT.

每个程序员都需要知道的概念和术语 - codeburst

1527 2 2K

这些概念术语包括:概念完整性、内聚性、抽象数据类型、耦合、信息隐藏、最小惊讶规则等。如果您读过一本技术书籍(我想您应该是一名软件工程师),您可能会发现一个您不熟悉的术语或概念。也许你在大学的某个时候学.

Java中的SOLID原则 - ds73306

1188 1 4K

SOLID 原则基本上构成了构建面向对象、松散耦合、健壮、可维护和易于理解的应用程序的基本准则。最常被问到的面试问题之一,让我们来看看: 单一职责:一个类应该有且只有一个职责。我们应该仅仅为了一个目的.

面向对象编程核心是多态!不是抽象哦 | by Sohee Kim

943 1

运行良好的软件和运行正常的软件之间是有区别的。仅考虑其行为,构建有效的软件是一项工作完成了一半。软件工程师应该通过考虑其结构来构建灵活且可扩展的软件。好的软件来源于好的结构,好的结构来源于好的架构。因.

Common Lisp对象系统是现存最好的对象系统? - mendhekar

1001 2K

软件中一个常见的设计/架构/分析原则是结构/行为二分法。在这里,作为系统的设计者,我们确定结构部分,然后确定每个结构部分在系统中的行为方式。在面向对象的设计中,这通常可以帮助我们识别类以及它们如何相互.

为什么纯函数式语言至今无法流行起来?

2182 3

编程可以从冯诺依曼风格中解放出来吗?使用一种函数式风格及程序代数替代它?为什么纯函数式编程无法成为主流?为什么纯函数式语言无法真正解决实际问题?CS大学里那些书呆子的梦想式白日梦还是终有一天会实现?冯.

开闭原则OCP与KISS简单原则冲突吗? - macerub

1807 2
如何看待开闭原则(OCP)? 有些人不认同OCP,他们认为我们应该专注于编写简单的代码。 我同意这一点,但是我没有看到简单性和OCP是如何不兼容的。有两个初步要点:OCP的目标不是编写我们再也不会修改.

软件架构设计模式大全 - vikipediaaaa

1582 1 4K

KISS(保持简单愚蠢): 即使解决方案看起来很愚蠢,简单的解决方案也比复杂的解决方案好。 当解决方案使用较少的继承,较少的多态性,较少的类等时,解决方案会更好。 更简单的解决方案更易于维护,即检测和.

鲍勃大叔《Clean Code》书籍反对意见的收集

2494 5 3K

这是各种读者对罗伯特·C·马丁(Robert C. Martin)2008年的著作《清洁代码》评论,点击标题见英文: 我写这篇文章是因为我一直看到人们推荐Clean Code。我觉得有必要提出反对意见.

BABOK业务分析的面向对象分析 - modernanalyst

1369
业务分析知识体系v​​3(BABOK)是业务分析实践的全球公认标准,其主要目的是定义业务分析的专业并提供一组普遍接受的实践。BABOK包括一个流程,该流程主要集中在执行用于生成输出的任务上。每个任务都.

LSP-Liskov替代原理 - deepdive

1454

Liskov替换原则是SOLID的一部分,该缩写缩写总共捆绑了5条设计原则。它通常与干净的代码相关联。但是到底是什么,对您来说重要吗,您甚至应该关心吗? 它是什么?如果S是T的子类型,则可以用类型S的.

经验分享:干净整洁代码(clean code)的特点 - oliver

3533 1

干净的代码很重要,干净的代码可以帮助其他人理解您的代码,但是干净的代码也很主观!我想分享给您我的看法,它是由多年的开发人员领导技术团队领导经验和团队合作而成。干净的代码可以帮助人们理解代码。根据大多数.

鲍勃大爷:软件架构类似房子,面向对象是房子的结构,水管线管是函数式编程

1247 2

软件架构类似房子,这个房子代表一个递归式应用,由顺序、选择和迭代等组成,这个应用被放设计进入一个面向对象的结构中,类似房子设计成三室一厅两厨卫这样的结构,而穿越结构的说水管电线管,这些管线是由函数式编.

鲍勃大爷:SOLID概念解释

1632 2 2K

SOLID原则与90年代(甚至更早于20世纪90年代)一样,在今天同样重要。这是因为软件在这些年中并没有发生太大变化:因为自1945年Turing编写电子计算机的第一行代码以来,软件并没有发生太大变化.

大脑是如何识别和分类对象? - mpg

1611

人脑将环境分解为总共49个属性,足以对所有对象进行分类。根据所观察对象与已知类别的相似程度,然后将其识别为狗或家具。我们生活在一个充满事物的世界中,我们必须对事物进行识别和分类。只有当您能够识别周围的.

否定OOP的面向数据编程DOP原理 - Yehonathan Sharvit

5090 1 16K
本章试图说明据我所知,面向数据编程的核心原理是什么。这在很大程度上取决于我在Clojure的编程经验,但是我认为这些原则与语言无关。可以使用Java或C#等面向对象(OO)语言来遵守它们,而可以使用O.

设计模式死了吗?鲍勃大爷认为还没 - unclebobmartin

1595 3

有些人说设计模式已经死了。真愚蠢! “设计模式”书籍是我们行业中出版的最重要的书籍之一。对于所有专业程序员来说,其中的概念应是基本知识。 设计模式就像现实生活中的谚语:这是开放了其他人的经验。 假设需.

如果每个人都讨厌OOP,为什么它仍然如此广泛传播? - StackOverflow

1569 4K

OOP取得了巨大的成功。但是成功仅仅是偶然吗?并且它还能在2020年提供其他编程范例无法提供的独特功能吗?在1981年8月的Byte杂志中,David Robson公开了他的文章,该文章成为许多人进入.