程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。以下内容梳理自StactOverflow的一个问题:编程时你最先考虑的准则是什么? 目录 KISS(KeepItSimpleStupid)DRY(Don’tRepeatYourself)YAGNI–Youain’tgonnaneeditCodeForTheMaintainerBeaslazyaspossible.Programmingisonlytheroad,nottheway.Ifyouareinahurry,strollalongslowly.Ifyoureallyareinahurry,m
程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。以下内容梳理自StactOverflow的一个问题:编程时你最先考虑的准则是什么? 目录 KISS(KeepItSimpleStupid)DRY(Don’tRepeatYourself)YAGNI–Youain’tgonnaneeditCodeForTheMaintainerBeaslazyaspossible.Programmingisonlytheroad,nottheway.Ifyouareinahurry,strollalongslowly.Ifyoureallyareinahurry,m
1、UML统一建模语言定义:用于软件系统设计与分析的语言工具目的:帮助开发人员更好的梳理逻辑、思路学习地址:UML概述_w3cschool官网:https://www.omg.org/spec/UML1.1、UML组成结构flowchartTD; UML图-->结构图&行为图; 结构图-->剖面图&包图&复合结构&对象图&类图&组件图&部署图 行为图-->交互图&活动图&状态图&用例图 交互图-->交互概图&时序图&顺序图&通信图1.2、各类UML图示例画图工具可以用亿图图示或其他工具,亿图图示可以自行在微信订阅号中搜索:亿图图示V10破解即可懒得找的话也可以直接去这里:https://mp.
1、UML统一建模语言定义:用于软件系统设计与分析的语言工具目的:帮助开发人员更好的梳理逻辑、思路学习地址:UML概述_w3cschool官网:https://www.omg.org/spec/UML1.1、UML组成结构flowchartTD; UML图-->结构图&行为图; 结构图-->剖面图&包图&复合结构&对象图&类图&组件图&部署图 行为图-->交互图&活动图&状态图&用例图 交互图-->交互概图&时序图&顺序图&通信图1.2、各类UML图示例画图工具可以用亿图图示或其他工具,亿图图示可以自行在微信订阅号中搜索:亿图图示V10破解即可懒得找的话也可以直接去这里:https://mp.
我从1999年就开始了编程生涯,到今年已经有20多年了。我先是从Basic开始,很快转到了Pascal和C语言,然后又学习了面向对象编程语言Delphi和C++。2006年,我开始使用Java,2011年开始使用JavaScript。我参与过各个行业的软件开发,从机器人、金融科技、医疗到媒体和通信。我还担任过研究员、CTO、TPM(技术产品经理)、老师、系统架构师和技术负责人,但不管怎样,我一直都在编程。在我参与过的项目当中,有些为数百万人提供服务,有些在发布之前就宣告失败。我做过咨询顾问,还创办过自己的公司。我在开源项目、闭源项目和内部开源项目上花了很多时间,从微控制器到移动应用、桌面应用,
我从1999年就开始了编程生涯,到今年已经有20多年了。我先是从Basic开始,很快转到了Pascal和C语言,然后又学习了面向对象编程语言Delphi和C++。2006年,我开始使用Java,2011年开始使用JavaScript。我参与过各个行业的软件开发,从机器人、金融科技、医疗到媒体和通信。我还担任过研究员、CTO、TPM(技术产品经理)、老师、系统架构师和技术负责人,但不管怎样,我一直都在编程。在我参与过的项目当中,有些为数百万人提供服务,有些在发布之前就宣告失败。我做过咨询顾问,还创办过自己的公司。我在开源项目、闭源项目和内部开源项目上花了很多时间,从微控制器到移动应用、桌面应用,
目录系列文章前言聚合聚合和聚合根原则包含业务原则单个单元原则事务边界原则可序列化原则聚合和聚合根最佳实践只通过ID引用其他聚合用于EFCore和关系型数据库保持聚合根足够小聚合根/实体中的主键聚合根/实体构造函数业务逻辑和实体中的异常处理实体中业务逻辑需要用到外部服务学习帮助系列文章基于ABP落地领域驱动设计-00.目录和前言基于ABP落地领域驱动设计-01.全景图基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则基于ABP落地领域驱动设计-05.实体创建和
目录系列文章前言聚合聚合和聚合根原则包含业务原则单个单元原则事务边界原则可序列化原则聚合和聚合根最佳实践只通过ID引用其他聚合用于EFCore和关系型数据库保持聚合根足够小聚合根/实体中的主键聚合根/实体构造函数业务逻辑和实体中的异常处理实体中业务逻辑需要用到外部服务学习帮助系列文章基于ABP落地领域驱动设计-00.目录和前言基于ABP落地领域驱动设计-01.全景图基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则基于ABP落地领域驱动设计-05.实体创建和
1. 编码原则1.1. SOLID原则1.1.1. 单一职责原则(SingleRespon-sibilityPrinciple)1.1.1.1. 类和方法应当仅具备单一职责。所有组合为单一职责的元素应当组合在一起并进行封装。1.1.2. 开闭原则(Open-ClosedPrinciple)1.1.2.1. 类和方法应当对扩展开放,对修改封闭。1.1.3. 里氏替换原则(LiskovSubstitution)1.1.3.1. 若函数接收一个基类的指针,那么该指针应当可以替换为任何从基类派生的类(的指针)而无须事先知晓具体类信息。1.1.4. 接口隔离原则(InterfaceSegregation
1. 编码原则1.1. SOLID原则1.1.1. 单一职责原则(SingleRespon-sibilityPrinciple)1.1.1.1. 类和方法应当仅具备单一职责。所有组合为单一职责的元素应当组合在一起并进行封装。1.1.2. 开闭原则(Open-ClosedPrinciple)1.1.2.1. 类和方法应当对扩展开放,对修改封闭。1.1.3. 里氏替换原则(LiskovSubstitution)1.1.3.1. 若函数接收一个基类的指针,那么该指针应当可以替换为任何从基类派生的类(的指针)而无须事先知晓具体类信息。1.1.4. 接口隔离原则(InterfaceSegregation