Java接口实现

  

可汗学院使用Go静态上下文理顺全局变量和依赖 - khanacademy

22-04-08 657 1 11k

可汗学院正在完成一个巨大的项目,将我们的后端从Python迁移到Go。虽然这个项目的主要目标是迁移到一个过时的平台上,但我们看到了改进我们代码的机会,而不仅仅是直接移植。 我们想改进的一件大事是我... 详细

避免过早的软件抽象 - Jonas

21-11-19 793 1 4k
让我们看一些在实践中经常发生的过早抽象的具体案例。这些都是基于在我们自己的代码库中找到的真实示例。 职责抽象得太细了 使用 设计模式 没有真正的好处 性能过早优化 低耦合无处不在 ... 详细

Swift面向协议的编程 - arturgruchala

21-07-31 557 3k

2015 年,苹果推出了一个新概念—— 面向协议的编程 。我敢肯定,您正在使用这些技巧中的大部分,甚至全部。 案例:您正在使用UserDefaults. 也许是一个简单的保存用户关于黑暗主题偏好的决... 详细

软件工程中的海仑定律 - hyrumslaw

21-07-06 1852 1k

海仑定律(Hyrum's Law)是软件工程中一种观察经验: 有了足够数量的 API 用户, 您在合同中承诺什么并不重要: 您系统的所有可观察行为 都将取决于某人。 我(H... 详细

LSP-Liskov替代原理 - deepdive

20-11-30 1165 1k

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

Java中的重载和覆盖的细微差别 - rajivprab

19-08-17 1 856 13k

我已经用Java编程超过五年了,并且认为我知道重载和覆盖是如何工作的。只有一次我开始思考并写下以下的角落案例,我才意识到我几乎不知道它。为了游戏化这些细微差别,我在下面将它们列为一系列谜题。 ... 详细

标记接口(Marker Interface)

19-07-17 1150 5k
目的 使用空接口作为标记来区分特殊处理对象。 . 详细

Java中基于泛型的交叉类型 - {4Comprehension}

19-07-09 1577 1 2k

简单地说,交集类型是通过组合至少两种不同类型而创建的匿名类型的形式。 想象一下,我们需要模拟两种类型的动物: 那些可以飞的 那些可以游泳的 我们可以简单地实现两个接口: ... 详细

用汽车比喻理解OOP - Jonathan Kuhl

19-01-20 2475 4 10k

站在任何街角,观看交通一段时间,来来往往都是汽车。它们具有相同的基本结构:四个轮子,一个发动机,一个方向盘,用汽油或柴油运行。然而,它们在颜色,马力,形状,特征甚至可能使用的汽油类型方面差异很大。每... 详细

一个控制器一个Action - Janos Pasztor

19-01-09 788 10k

你在控制器中放了多少个动作Action?5-6?20?如果我告诉你我的限制只能是一种Action方法,你会怎么说? 可以肯定地说,大多数Web应用程序在其控制器中都有太多的Action操作方法,但它... 详细

你为什么要使用接口? - Janos Pasztor

19-01-09 793 7k

我从很多人那里收到了同样的问题:为什么你甚至会使用接口? 当涉及到接口时,人们倾向于认为他们唯一的用途是当你有多个实现时,你可以轻松地将它们切换出来。然而,大多数人在他们的应用程序中没有特定功能的多... 详细

间接不是抽象

18-11-02 625

这篇文章认为接口interface代表的间接和abstract代表的抽象并不是一回事,间接是为了分离,松耦合,而抽象是为了将细节剥离。这是软件设计中两个不同维度。然后他谈了这两种情况的四个组合: ... 详细

书评:软件设计哲学

18-10-30 1762 2 2k

这篇文章是关于John Ousterhout的新书“软件设计哲学”的评论: 事实证明,写一篇有关如何将俄罗斯方块AI实现为容器化的Kotlin微服务的文章要比如何编写好的代码要容易得多。 170页的... 详细

按六角形架构实现模块化设计

18-08-12 1413 2 1k
六角形 架构 是核心与接口外围关系图,业务逻辑核心应该位于中心,不依赖于外层接口,注意,这里数据库也是一种外围,很多系统能做到业务逻辑不依赖rest或界面,但是做不到不依赖于数据... 详细

为什么组合好于继承?

15-03-12 9 7841 18 2k
本文使用亲身案例形象说明了软件设计领域为什么组合Composition要好于继承(包括接口继承),只有需求分析域的问题分解,才有设计编程的组合应用。 来自游戏公司GameSys的Yan Cui发表了... 详细