• 亚里斯多德以来,哲学家一直在与存在概念作斗争。为什么我们要研究观察我们在世界上看到的东西?这些事物是如何在那里的?有目的吗?它们会永远存在吗?我们是由与其他所有事物一样的东西构成的,还是我们拥有其他物体所缺乏的仇恨或灵魂?1714年,戈特弗里德·莱布尼兹(Gottfried Leib
  • 不要将事物类别标记为“类型1”和“类型2”(“类型3” “类型4”等等...)。如果你这样做,我不记得哪个是哪个,或者他们区别的基础是什么。 评论:命名是最难,我们通常使用类型对事物分类,分类后的命名就应该是直接业务类型,而不是使用通用的“类型1. icon
  • 值类型与普通类型对象的不同之处在于:值类型没有对象标头或标识,没有对值类型的引用,值类型是不可变的,并且值类型之间没有继承,因此,它没有多态性。是不是非常类似DDD的值对象? 没有标识类似原始变量类型byt icon
  • 1999年: 没有类型你无法写真正的软件2009年: 类型是浪费,没有它们我们编写得更快2019年: 类型阻止了所有的bugs!2029年: 你不需要类型,因为机器学习ML能为你分辨类型2039年: 程序员因为气候变化而死亡 icon
  • 很多权威人士,包括OO粉丝,都不喜欢“继承”,但是它让我将一个通用行为调整到特定行为时更有用和简单,只是它被误用了,像很多技术一样,需要学会如何好好地用它。 众说纷纭:1. 我默认使用组合,并且如果在重复几次之后有意义时才使用继承。 icon
  • 站在任何街角,观看交通一段时间,来来往往都是汽车。它们具有相同的基本结构:四个轮子,一个发动机,一个方向盘,用汽油或柴油运行。然而,它们在颜色,马力,形状,特征甚至可能使用的汽油类型方面差异很大。每条繁忙的街道都是不同车型的杂音,但我们看到的大多数车辆,每个人都会同意,是一辆汽车。是的,根据 icon
  • 命令式、函数性、面向对象。这些不是彼此的对手。不是一个比另一个好。它们不是相互排斥的。您不必只选择一个。一个设计良好的系统同时是三个范式的系统。 众说纷纭:我不知道为什么!但是,一些开发人员认为一种技术、框架或范式将取代其他技术、框架或范式 icon
  • 我的主要主题是研究如何将函数性编程语言和面向对象的编程语言结合在一起。我当时注意到的是,函数语言的语法倾向于动词,然后是名词,如f(x),而面向对象语言的语法倾向于是名词,然后是动词,如:x.f()。在某种程度上,这些可以被认为是等效的。您可以用一种表达等同于另一种表达。不过,两者在可用性存 icon
  • 1.通过垂直切片而不是层来命名和组织包结构 2.仅通过ID而不是类型来引用其他聚合3.从聚合中发出事件并使用它们与其他切片通信,而不是从其他切片来直接调用这个聚合中的类4.降低类可见性以尽可能保护包,而不是默认将所有内容公开5.要考虑“服务”类 : 明确哪些服 icon
  • SOLID阐述了五种设计原则,可帮助开发人员轻松扩展和维护软件:S - 单一责任原则O - 开放原则L - Liskov替代原理I - 界面隔离原理D - 依赖倒置原则 单一责任原则 icon
  • 在本教程中,我们将讨论面向对象设计的SOLID原则。首先,我们将首先探讨它们出现的原因以及为什么在设计软件时应该考虑它们。然后,我们将概述每个原则以及一些示例代码以强调这一点。 SOLID原则的原因 icon
  • 在我学习计算机科学的过程中,我遇到了所谓的Hoare逻辑。它的主要思想是,对于每个命令/程序,您可以定义前提条件和后置条件。这些是逻辑表达式。在启动程序之前必须满足前提条件。主要是检查所有输入是否在正确的范围内等等。它当然也可以是恒定的,这意味着:这个程序没有特定的前提条件。运行程序后必须满 icon
  • 其实数据类就是数据结构,就是DTO,其和真正类是有本质区别,见鲍勃大叔实锤:类与数据结构的比较,使用数据类其实是一种倒退!这篇博客文章解释了从项目中删除Project icon
  • 不加选择地应用var可能会让代码不容易理解,因为模糊了类型这个概念,而人类是依据类型分类进行逻辑思考的,这样就使事情变得更糟,如果使用得当,var可以帮助改进良好的代码,使其更短更清晰,同时不会影响可理解性。使用var需要通过减少混乱来改进代码,从而使更重要的信息脱颖而出。本 icon
  • 学习面向对象编程(如抽象,   icon
  • https://twitter.com/mathiasverraes/status/1153615691397943297我希望我们无需争论OO icon