一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

随笔分类 -  软件设计

设计模式之类之间的关系和六大原则
摘要:1 类之间的关系 类与类之间的关系大概有6种,要看懂UML图,首先需要了解这几种关系。 1.1 继承关系 继承指的是一个类(称为子类,子接口)继承另外的一个类(成为父类,父接口)的功能,并可以增加它自己的新功能的能力。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口 阅读全文
posted @ 2023-07-07 15:27 一杯清酒邀明月 阅读(134) 评论(0) 推荐(0) 编辑
代码的坏味道 《重构改善既有代码的设计》
摘要:1. Duplicated Code重复代码,在程序中多次出现的相同结构或功能的代码 同一个类中的两个函数含有相同的表达式 两个互为兄弟的子类中含相同的表达式 相互独立的类中出现相同表达式 2. Long Method 过长的函数难以理解及维护 段函数或间接层具有很强的解释能力、共享能力和选择能力 阅读全文
posted @ 2023-07-07 11:56 一杯清酒邀明月 阅读(34) 评论(0) 推荐(0) 编辑
代码坏味道的变迁
摘要:2018年,Martin Fowler的《重构》第二版出版,距离第一版,已经19年了。为什么作者要出新版?通过分析两个版本的变化,可以探知端倪。这些变化,一方面体现了作者多年的思考和总结,另一方面也体现了技术潮流的演进。本文先从讨论坏味道的变迁开始。 《重构》第一版中有22种坏味道,第二版中有24种 阅读全文
posted @ 2023-07-07 11:52 一杯清酒邀明月 阅读(62) 评论(0) 推荐(0) 编辑
代码的坏味道
摘要:代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。 1. 重复的代码 如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。 同一个class内的两个函数中含有重复的代码 阅读全文
posted @ 2023-07-07 11:48 一杯清酒邀明月 阅读(50) 评论(0) 推荐(0) 编辑
SDK和API的区别
摘要:在正式了解它们的区别之前,我们得先知道 SDK 和 API 分别是什么? 一、API的概念 我们先来看这样一张图: API 的全称为 Application Programming Interface,翻译过来的意思就是应用程序编程接口。实际上,API 是一些预先定义的函数,目的是提供应用程序与开发 阅读全文
posted @ 2022-09-08 16:41 一杯清酒邀明月 阅读(489) 评论(0) 推荐(0) 编辑
软件设计师复习备考
摘要:软件设计师是也称软考,是软件专业的一项重要的考试,对于以后的就业、工作都有着不小的帮助。从今天起,将开始系统的软考备考,备战2021.5的软考。 软考的涵盖面比较广泛,考试分为上午和下午,上午和下午考试满分都是75分,45分及格,需要两次考试都及格才算合格。上午是对计算机组成与结构、程序语言、操作系 阅读全文
posted @ 2022-04-11 15:43 一杯清酒邀明月 阅读(182) 评论(0) 推荐(0) 编辑
对模式的十大误解
摘要:本文摘选自已故知名软件大师John Vlissides的Pattern Hatching (Design Patterns Applied)【中译本名为:《设计模式沉思录》,葛子昂译,人民邮电出版社】一书。该书出版于1998年,但中译本一直到2010年才出版。在本文中,Vlissides针对普遍存在 阅读全文
posted @ 2022-04-11 15:07 一杯清酒邀明月 阅读(116) 评论(0) 推荐(0) 编辑
软件重构过程中的思维转换: 遗留代码如何变废为宝
摘要:“我开始收到各式各样的邮件,人们都表示‘天呐!我也是这样!’。”她说,“我开始去传播这条信息,告诉大家重新建构遗留代码这件事其实非常有价值,凭此来吸引合适的人。” —— Andrea Goulet 编者注:Andrea Goulet是Corgibytes的首席执行官,她的公司专注于处理、改进并精简企 阅读全文
posted @ 2022-04-11 15:00 一杯清酒邀明月 阅读(101) 评论(0) 推荐(0) 编辑
类与类之间的几种关系
摘要:一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。 阅读全文
posted @ 2022-04-11 14:26 一杯清酒邀明月 阅读(158) 评论(0) 推荐(0) 编辑
软件7大设计原则
摘要:一、开闭原则(Open-Closed Principle, OCP) 对软件实体的改动,最好用扩展而非修改的方式,如果要修改代码,尽量用继承或组合来扩展类的功能,而不是直接修改代码。 二、里氏替换原则 尽量把父类设计成抽象类或者接口,让子类继承父类或实现父类接口,子类可以扩展父类的功能,但不能够改变 阅读全文
posted @ 2022-04-11 14:19 一杯清酒邀明月 阅读(142) 评论(0) 推荐(0) 编辑
23种软件设计模式
摘要:软件设计模式,是一套被反复使用、众所周知的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 1. 建造模式(Builder):将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。 2. 抽象工厂模式(Abs 阅读全文
posted @ 2022-04-11 14:11 一杯清酒邀明月 阅读(2023) 评论(0) 推荐(0) 编辑
软件设计模式(归纳总结)
摘要:一、定义 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 二、基本要素 模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式。 阅读全文
posted @ 2022-04-11 14:09 一杯清酒邀明月 阅读(941) 评论(0) 推荐(0) 编辑