随笔分类 - 【026】软件设计
软件设计原则、设计模式、DDD领域驱动设计
摘要:作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码。本文是我学习《代码之丑》的学习笔记,今天最后一天,一起品品滥用控制语句的味道,再看看策略模式的使用。本文总结了滥用控制语句如循环和选择语句造成的高复杂度代码的应对方法,还介绍了策略模式的定义、类图以及案例,希望能对你的代码精进之路有用。
阅读全文
摘要:作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码。本文是我学习《代码之丑》的学习笔记,今天第三天,品品大类和长参数列表的味道。本文总结了两类坏味道,一是大类,二是长参数列表。无论是长函数方法、大类 还是 长参数列表,它们的背后都在告诉我们一件事情,即编写“短小”的代码的重要性,而要编写“短小”的代码,需要我们在设计的时候就能“分离关注点”。
阅读全文
摘要:作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码。本文是我学习《代码之丑》的学习笔记,今天第二天,品品重复代码和长函数方法的味道。本文总结了两类坏味道,一是重复代码,二是长函数方法。对于重复代码,我们要做的就是不要重复,争取复用。而对于长函数方法,我们则要控制行数规模,而且越低越好。
阅读全文
摘要:作为一个后端工程师,想必在职业生涯中都写过一些不好维护的代码。本文是我学习《代码之丑》的学习总结,今天第一天发车,先来看看在命名上的一些常犯的坏味道。本文总结了命名相关的两类坏味道,一是命名是否具有业务含义,二是命名是否符合英语语法。
阅读全文
摘要:如果说学习数据结构和常用算法可以帮助我们写出较为高效的代码,那么学习软件设计相关知识则可以帮助我们写出较为高质量的代码,本文是我学习课程《软件设计之美》的学习总结第五部分,记录对于DDD领域驱动设计方法的整体理解。
阅读全文
摘要:如果说学习数据结构和常用算法可以帮助我们写出较为高效的代码,那么学习软件设计相关知识则可以帮助我们写出较为高质量的代码,本文是我学习课程《软件设计之美》的学习总结第四部分,记录对于设计模式和简单设计的理解。
阅读全文
摘要:如果说学习数据结构和常用算法可以帮助我们写出较为高效的代码,那么学习软件设计相关知识则可以帮助我们写出较为高质量的代码,本文是我学习课程《软件设计之美》的学习总结第三部分,分享面向对象的三个特点和五个设计原则的理解。
阅读全文
摘要:如果说学习数据结构和常用算法可以帮助我们写出较为高效的代码,那么学习软件设计相关知识则可以帮助我们写出较为高质量的代码,本文是我学习课程《软件设计之美》的学习总结的第二部分,分享如何了解一个软件的设计:先看模型,再看接口,最后看实现。经历了这三步,我们就基本可以了解一个软件的设计了。
阅读全文
摘要:如果说学习数据结构和常用算法可以帮助我们写出较为高效的代码,那么学习软件设计相关知识则可以帮助我们写出较为高质量的代码,本文是我学习课程《软件设计之美》的学习总结的第一部分。一句话概括,软件设计=好的模型+适合的规范。软件设计的第一步是分离关注点,分离的关注点越多越好,粒度越细越好。
阅读全文
摘要:本文是我学习Scott Millett & Nick Tune编著的《领域驱动设计模式、原理与实践》一书的学习笔记,一共会分为4个部分:领域驱动设计的原则与实践、在有界上下文之间通信、创建有效的领域模型、有效应用程序的设计模式,此文为第1部分-领域驱动设计的原则与实践。
阅读全文
摘要:DDD 是一种在面向高度复杂的软件系统时,关于如何去建模的方法论,“它的关键点是根据系统的复杂程度,建立合适的模型”。在一个系统中,没有一个人能完全掌握系统的全貌,在多人参与的系统中,DDD 正是可以通过在不同角色之间进行协作,使参与者达成统一认知,对齐系统设计与程序实际所服务的业务领域。
阅读全文