Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
抽象与继承编程指南
幽默:简单几点说明日常编程中的软件设计或程序设计
软件设计或程序设计不只是算法设计,还有模式结构的设计,体现在: - 将模块分组到架构层是设计。 - 将类分组为模块是设计。 - 将函数分组为类是设计。 - 重命名变量是设计。 设计和用户体验有很多共同之处。很容易发现两种工艺共有的特征。
抽象两种方法:上下文与类型
“抽象”的中文意思是“抽出象形”。奥妙就在于实现手段有很多,也是创新所在,这里比较三种手段: 首先是中文字面意思上的“抽象”:抽出象形,中国文化谓之为神,例如中国水墨国画,还有古诗词:“窗前明月光疑是地上霜”,明月光和地上霜是两个有实在内容的实体,李白把它
如何使用OO和函数式两个方法实现重构? - DZone
Java 中的重构有很多方面,但其中有两个基础:面向对象和
DRY原则:识别模式并抽象概括 - javierdearcos
DRY 来自“Don't Repeat Yourself”的首字母缩写词,是最普遍的开发原则之一。它是由Andy Hunt和Dave Thomas在他们的书The Pragmatic Programmer中创造的。DRY不是简单的“不要重复自己!”,它的关键是识别一种模式并用理想的抽
复杂性躲不掉,就把它关起来!
我们先看看 Fred Hebert 说过的一段话,叫《复杂性必须存在于某个地方》。 在写软件的时候,我们总是会遇到一个麻烦,就是“
Rust中的零成本抽象简介
零成本抽象:在不牺牲富有表现力的代码设计的情况下优化软件效率。 什么是零成本抽象?Rust 以注重性能和安全性而闻名,它引入了其设计理念中一个至关重要的概念:零成本抽象。这一原则允许开发人员使用trait特征和泛型
为什么组合优于继承?
过度(滥用)继承一直是OO的最大问题之一。组合可以在OO或FP中实现,对FP的了解(哪怕是一点点)可以积极地影响你如何写OO代码。 继承不应该是学生们学习的第一件事,但它却是。我看到很多初学者从第一天开始就接触到这种垃圾。它是这样的
面向对象编程核心是多态!不是抽象哦 | by Sohee Kim
运行良好的软件和运行正常的软件之间是有区别的。仅考虑其行为,构建有效的软件是一项工作完成了一半。软件工程师应该通过考虑其结构来构建灵活且可扩展的软件。好的软件来源于好的结构,好的结构来源于好的架构。因此,像软件架构师一样思考很重要。
软件工程中的海仑定律 - hyrumslaw
海仑定律(Hyrum's Law)是软件工程中一种观察经验:
LSP-Liskov替代原理 - deepdive
Liskov替换原则是SOLID的一部分,该缩写缩写总共捆绑了5条设计原则。它通常与干净的代码相关联。但是到底是什么,对您来说重要吗,您甚至应该关心吗? 它是什么?如果S是T的子类型,则可以用类型S的对象替换类型
继承和OOP已经死亡了吗?
这是一个关于如何被迫放弃继承和面向对象编程的故事,作者仍然怀念它很长一段时间。为什么五年后的今天,作者还是认为继承在大多数情况下是一个较差的选择。 Rust 和 Go 等新兴语言非常强烈地反对继承,许多工程师似乎也同意这一点。这就是继承的终结吗?<
Golang 不是 Java,类型嵌入不是继承。
在 Golang 中,可以使用结构将一个类型嵌入到另一个类型中。这看起来像一个普通的字段声明,但没有名称。这是将一个结构嵌入另一个结构:
一张图说明继承的缺点
多轮继承以后,无法确定结果类型。解决方法:
20个OOP基本抽象原理问答题
通过我们的 20 个最重要的抽象原理问题来掌握您的面向对象编程面试。提升您的理解并展示您的抽象能力,这是有效软件设计的关键概念。准备好在下一次技术面试中取得好成绩! 1. OOP 中抽象原则背后的基本思想是什么?答:抽象原则强调关注本质特征,隐藏非
程序员永远不应该相信"抽象“
程序员应该有偏执心。 “我仔细检查了代码” “代码通过了测试” “审阅者批准了我的代码” “那么我的代码正确吗?” 正确编写代码很困难,而且验证代码正确性是不可
接口抽象会提前复杂化
在企业软件领域,抽象(尤其是接口)被誉为优秀设计的标志。它们保证了灵活性、松耦合、可测试性,并遵循 SOLID 原则。我们在代码审查中推崇它们,在架构图中强制使用它们,并将它们不断注入到我们的应用程序中。 但不知从何时起,接口不再是一种手段,反而成了目的。
大惊小怪:软件抽象正在毁灭文明
乔纳森·布洛(Jonathan Blow)在一次演讲中提出,软件抽象可能导致文明的崩溃。他认为,随着技术的发展,程序员越来越依赖高级抽象,逐渐失去了对底层编程
代码该合还是分?上下文为王
今天咱们要讲一个程序员小明的血泪史,保证比你们追的连载漫画还精彩! 【第一幕:初来乍到】小明刚加入新团队,发现前辈们写了个"万能客户引导模块"——就像学校食堂的万能打菜勺,既能舀汤又能盛菜。代码简洁优雅,全组都夸"绝了!"。小明美滋滋地想:
下页
关闭