OOP教程指南

     
  • 论文:从第一原理导出依赖类型 OOP

    18

    本文提出了一种新颖的方法,从第一原理推导出依赖类型的面向对象编程(OOP)。题为“从基本原理推导依赖类型 OOP”,由德国图宾根大学和德国 IPAI 的 Aleph Alpha Research 的 .

  • Rust中新类型Newtype使用注意点

    7 9K

    Newtype 是 Rust 中类型驱动设计的原始要素,这使得无效数据几乎不可能进入您的系统。什么是Newtype?在 Rust 中,newtype 是一种设计模式,它涉及通过将现有类型包装在具有单个.

  • Rust中的零成本抽象简介

    22 1 2K

    零成本抽象:在不牺牲富有表现力的代码设计的情况下优化软件效率。什么是零成本抽象?Rust 以注重性能和安全性而闻名,它引入了其设计理念中一个至关重要的概念:零成本抽象。这一原则允许开发人员使用trai.

  • Java面向数据编程1.1版本

    84 1 2K

    近年来,Java 获得了许多新的语言特性:类型模式、switch改进、记录record和记录records模式、密封sealed 类型和一些其他模式。有时,整体的效果远大于各部分之和,如果正确组合,这.

  • Python中的鸭子类型

    128 11K

    Duck Typing是一种动态类型的编程风格,主要用于面向对象的编程语言中,例如Python。这种编程风格不依赖于对象的实际类型,而是关注对象是否具有特定的方法、属性或行为。Duck Typing的.

  • 20个OOP基本抽象原理问答题

    76 3K

    通过我们的 20 个最重要的抽象原理问题来掌握您的面向对象编程面试。提升您的理解并展示您的抽象能力,这是有效软件设计的关键概念。准备好在下一次技术面试中取得好成绩!1. OOP 中抽象原则背后的基本思.

  • 牛仔程序员手册

    71 2K

    本指南将教您如何编写草率、不专业的代码,忽略广泛接受的标准,使您的代码库变得难以理解的混乱!遵循这些提示,未来的你将会感谢你,因为他们试图在你的杰作的基础上进行构建或修复,而你会经历几天的沮丧和头痛。.

  • Array和ArrayList的区别

    103 5K

    在Java中,数组和ArrayList是众所周知的数据结构。数组是Java提供的基本功能,而ArrayList是Java Collections框架的一类。它属于java.util包。Java数组数组.

  • 幽默:女人不是对象

    188
     .
  • Python类与Rust结构的比较

    135 2K

    Python类与Rust结构是自定义数据类型的两种方法,但它们在语法、功能和用法上有一些显着的差异。在 Python 中,类是创建对象的蓝图。它允许您定义数据属性和操作这些属性的方法。Python 中.

  • 什么是一阶逻辑?

    348 2K

    一阶逻辑(FOL)是指句子或陈述的谓词只能指单个主语Subject的逻辑。一阶逻辑也称为谓词逻辑或一阶谓词逻辑,它不但能以更简便的方式表达对象信息,还能表达这些对象之间的关系。一阶逻辑(像自然语言一样.

  • ACE Dev : 自适应组合进化开发

    139 4K

    ACE Dev或自适应组合进化开发:描述自 1999 年开始专业从事面向对象编程以来所采用的开发风格的术语。ACE dev 由一组简单的原则组成,应用这些原则通常会自然地实现灵活且可维护的代码。当你理.

  • 编程范式列表

    141 3K

    本文中介绍的编程范例的列表: 结构化编程 函数式编程 面向对象编程 面向数据的编程 可组合编程 依赖注入 声明式编程 自上而下与自下而上 极简主义与极简主义 自适应编程 渐进式软件开发 自我驱动的开.

  • 工具类Util和通用类Common的反模式

    167

    Util和Common反模式在错误的方向上快速增长。最初开始于一个开发人员创建一个单一的util类,一个简单的方法不适合任何其他地方,然后,其他人跟随他添加许多其他方法。如果没有正确处理,Utils类.

  • Rust有面向对象特性吗?

    192

    structs、traits 和 impls 被解释为在 Rust 中进行 OOP 的一种方式。关于语言的哲学比较: Rust 具有对象特性,但并不以它们为导向。 Java 现在具有函数式特性,但仍然.

  • 我讨厌 NestJS

    187

    装饰器和依赖注入等面向对象的模式使 TypeScript 开发过于复杂该文批评 TypeScript 框架 NestJS 使用装饰器和依赖注入等模式,这些模式旨在解决面向对象编程的问题,但却妨碍了 T.

  • 静态类型很有用,但也有局限性

    132

    在代码库内部,静态类型系统可以是一个强大的工具。良好的类型系统使编译器能够检查代码的各个部分是否看起来内部一致: 您是否使用正确的参数调用过程? 您是否实现了接口定义的所有方法? 您是否正确初始化了对.

  • 提示工程与主语思维

    608 1

    提示工程是人工智能(AI)领域的一项前沿技术,主要用于制作与人工智能系统交互的文本提示。提示工程的主要目的是通过为人工智能系统提供更具体、更翔实的提示来优化其性能。提示是指导人工智能系统完成各种任务(.

  • 继承和OOP已经死亡了吗?

    956 6K

    这是一个关于如何被迫放弃继承和面向对象编程的故事,作者仍然怀念它很长一段时间。为什么五年后的今天,作者还是认为继承在大多数情况下是一个较差的选择。Rust 和 Go 等新兴语言非常强烈地反对继承,许多.

  • 函数式编程与面向对象编程比较分析

    444

    函数式编程和面向对象编程是软件开发领域中最流行的两种编程范式。两者都有自己独特的优势和劣势,两者的选择往往取决于项目的具体要求。在这篇文章中,我们将对函数式编程和面向对象编程进行比较分析,突出它们的主.

  • Rust适合领域概念吗? - Reddit

    811 1

    我使用Rust将近一年了,我写了大约2万行代码(CLI、WebAssembly应用、Web服务器......)。在我看来,编程范式的演变是朝着越来越大的设施去操作代表领域概念的结构。例如,一个Java.

  • 一张图:函数式编程 vs. 面向对象编程

    1676 1
    FP适合处理管道:GoF中的结构模式如#装饰器模式 其实使用FP替代很干净方便,没有必要一定要通过OOP的方式转个弯去实现。FP这种方式也适合 领域事件 在BC上下文之间的处理等场景OOP适合数据、领.
  • “干净”的代码,糟糕的性能 - Muratori

    744

    这篇文章论证使用鲍勃大叔的Clean干净代码原则编程,速度差异20- 25倍! 详细点击标题如果您查看一个“干净”的代号摘要,并提出取出现实影响代号结构的规则,您会得到: 偏好的多态性而不是“if/e.

  • 为什么用 Rust 构建 UI 如此困难? | Warp

    2745 1 5K

    尽管 Rust 很棒——它还没有成为构建 UI 的通用语言。在Warp,我们一直在用 Rust 构建一个自定义 UI 框架1,我们用它来在 GPU 上进行渲染。构建这个框架非常棘手并且是一项巨大的投资.

  • 面向数据设计带来更好的性能

    1149

    通过将应用数据放置在后续内存区域中获得更高性能。这使得CPU更容易加载和工作。经典的面向对象编程 (OOP) 将其数据放在内存中,就像意大利肉酱面一样——对象和指针都混在一起了。这很好,直到您想对数据.

  • 鲍勃大叔:函数式编程真的不需要面向对象吗?

    1387 3 2K

    什么是类?根据字典,一个类是:一组、集合、群体或配置,其中的成员被认为具有某些共同的属性或特征;一个种类或类别。现在在阅读下一段时考虑一下这个定义:在OO语言中,我们将我们的程序组织成具有类似特征的对.

  • 在Golang中如何避免OO思维? - Reddit

    1599 1 3K

    问:我的背景是来自php和一点点java,在这种条件下,我已经养成了使用面向对象的习惯,所以当我用go写一个api时,我使用了java中的oo概念,并在go中使用(到处都是指针,大胆的接口和浅层模块).

  • Rust超越了面向对象?- Jimmy

    2995 5 9K

    本文试图解释 Rust 如何偏离面向对象编程范式的原则以及为什么这是一件好事?Rust不是一种面向对象的编程语言。Rust可能看起来像一种面向对象的编程语言:类型可以与 "方法 "相关联,要么是 "内.