SOLID原则编程指南

     

为什么开发人员痴迷于“关注点分离”?

110 1

高级开发人员经常提到以下三件事: DRY Clean架构 关注点分离 这其实是一种宗教,教条主义。就像盲人摸大象一样,只有摸过大象才知道它有多少个部位,有多少个值得关注的地方,然后才能分离这些关注点。.

微服务不是问题,无能才是!

273 1 10K

微服务不是问题,认知能力才是关键,无法意识到"认知负荷"存在的人,是无能的人,是组织无能微服务本身并不是问题,对于较小的产品,单体架构也不一定更适合。无能软件工程领域的炒作令人难以置信。微服务是当前的.

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

125

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

如何提高函数的可读性?

61 2K

下面哪个版本的createPizza函数更容易理解?func createPizza(order *Order) *Pizza {    pizza := &Pizza{Base: order.Siz.

Java中的流畅接口和构建模式之间的区别

377 3K

流畅接口Fluent Interface 是一种面向对象的 API 设计,它允许我们以可读和直观的方式将方法调用链接在一起。要实现它,我们需要声明从同一类返回对象的方法。因此,我们将能够将多个方法调用.

攀登“模块化”之山

436 7K

作为软件开发人员的培训师和教练,我看到模块化软件设计(例如,面向对象或微服务)对人们来说是一种难以理解的技能。在许多不同的模块化层面(方法和功能、类和模块、包和组件、流程、服务、服务器、系统和系统的系.

“干净”的代码,糟糕的性能 - Muratori

708

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

如何将模块化应用于 SQL

1489 7K
在本文中,我们将了解模块化这一最重要的系统设计原则之一如何应用于 SQL。定义: 模块是一个单元,其元素与自身紧密相连,但与其他单元弱相连。当系统在设计时考虑到模块化,独立方很容易并行构建这些组件,以.

Salesforce的SOLID设计原则

875

SOLID原则基本上可以帮助我们使我们的代码能够容忍变化,并且易于理解。它还可以帮助我们减少依赖性,这样我们就可以改变代码的一个区域而不影响到其他区域。该原则是以下五个原则的首字母缩写。 S : 单一.

简化的 Java 六边形架构 – BABAL

1663 1 9K
一、概述在本教程中,我们将使用 Hexagonal Architecture 的原理,使用 CLI 使用者实现一个简单的 Java CMS 应用程序。主要思想是尽可能保持业务逻辑分离,并使用SOLID.

DRY是一种被高估的编程原理 - gordonc

1337 1 5K

DRY是我遇到的第一个编程原则,可能也是我在成为开发者的第一年中唯一意识到的原则。它也可能是最简单的理解原则之一。如果你在你的代码中看到两件相同的东西,也许它们就应该是一件东西。这一点很难说得通。但是.

互联网是模块化的 - Gordon

897 1

互联网的关键架构原则之一是模块化;模块化是一种设计原则,它有意使组件高度独立(“松散耦合”);当一个系统由具有可识别边界的较小的独立部分组成时,它就是模块化的。在设计模块化架构时,系统架构师以最小化组.

domain-driven-hexagon:领域驱动六边形的Javascript案例

1184 1 2K
学习领域驱动设计DDD、软件架构、设计模式、最佳实践的包含Javascript案例该项目的主要重点是就如何设计领域驱动六边形Domain-Driven Hexagon软件应用程序提供建议。本自述文件介.

40多年的软件工程研究是失败的 - iansommerville

987 1

作者背景:从1981年左右到2014年退休,我一直从事软件工程或相关学科的研究。从1984年到2014年,我的所有研究都涉及与英国和整个欧洲的工业界合作。我有幸与来自不同行业和国家的许多人一起工作,我.

SOLID原则是一个有机整体 - Kislay

936 1 2K

SOLID原则是建立一个组件间低耦合度的系统的有力工具。首先对这些原则做一个简单的回顾: SRP:单一责任原则 OCP:开放封闭原则 Liskov替代原则 接口隔离 依赖性反转 在这里,我想谈谈所有的.

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

890 1 10K

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

规则引擎模式的.NET开源项目案例

1107
规则引擎模式是什么?哪些地方需要用到?实现规则引擎模式,SOLID原则是一个很好的选择。业务规则的项目是通过if/else函数来实现的,但是在我们的许多业务规则中,我们需要编写更规则的代码,if/el.

规则引擎模式 - upperdine

1113 1 8K

作为专业或有抱负的软件工程师,我们通常的任务是将业务规则转化为计算机可以理解的东西。我们使用类对问题域进行建模,并编写业务逻辑以反映存在于代码库之外的现实世界规则。当这些业务规则在现实世界中发生变化时.

开放封闭原则与规则引擎设计模式 - devgenius

1356 1
SOLID原则是美国软件工程师和讲师罗伯特·C·马丁 (Robert C Martin) 提倡的众多原则的一个子集,他被称为“鲍勃大叔”。在本文中,我将讨论S {O} LID原则之一,即开闭原则(OC.

干净的代码: 编写可读的函数

753 2K

以下是 Clean Code 关于编写可读函数的建议的摘要。这个建议是针对用 OOP 语言编写的函数,尽管许多概念会延续到其他编程范式。 原则 1 - 小! 你的大部分功能应该少于15行,而且几乎不应.

过度设计会扼杀你的产品 - mindtheproduct

1767 1 4K

我相信这是因为我们将讨论创建产品时最普遍的问题之一:过度设计。在我看来,与缺乏良好的开发实践相比,过度设计杀死了更多的产品。在详细介绍之前,让我先和您谈谈我的背景。在成为产品经理之前,我是一名工程师。.

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

2542 5 3K

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

Java中的SOLID原则 - ds73306

1162 1 4K

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

快而脏的代码真的能更快推向市场吗?

1288 1

著名敏捷专家Allen Holub认为:编写“快速而肮脏”的废代码可以使您更快地推向市场是一个神话。至少我从未见过这项工作。最快的上市方式是编写高质量的,经过良好测试的代码。马丁福勒称这种“快而脏”代.

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

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

你还在用if-else吗?鲍勃大叔提出改进意见!

2318 1 2K
if/else/switch语句的泛滥是软件系统中的常见问题。它们在许多地方被复制的事实是有问题的。几天前,有人在推特上发了一个问题,询问以下哪个PHP片段更好,或者是否有更好的方法。我的建议是:将i.

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

1560 1 4K

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

LSP-Liskov替代原理 - deepdive

1426

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