软件架构设计模式——从腐烂的不良设计中品读软件的人格障碍

  • 时间:
  • 浏览:
  • 来源:互联网

文章目录

  • 僵硬性
  • 脆弱性
  • 不可移植性
  • 粘滞性
  • 不必要的复杂性
  • 不必要的重复性
  • 不透明性

在这里插入图片描述需求总是变化的,我们的系统会不断变化,不良设计会随着时间会慢慢变得更糟糕。设计的时候设计者鼠目寸光,没有长远规划,会给未来留下隐患。

僵硬性

在这里插入图片描述
在这里我们提到了耦合度的问题,**耦合度描述了一个对象依赖于另外一个对象的程度。**松耦合的对象可以独立发生变化,彼此互相不影响。这也是我们系统设计的目标。

class A{
	int x;
	...
}
class B extends A{
	void b(){
		x=5;
	}
	...
}

如上述例子,我们的B强依赖于A(继承关系),如果我们修改了A中的变量名称,那么我们也需要修改B里面的代码,这样B才能正常工作。这样的代码我们是不提倡的。我们尽量用组合关系(弱依赖)而不是继承关系

class B {
	a = new A();
	void b(){
		a.x=5;
	}
	...
}

Erich Gamma(GoF)原则

  1. 尽量用组合关系而不是继承关系。
  2. 对接口进行编程,而不是对实现进行编程。

脆弱性

在这里插入图片描述
脆弱性啊,就是传说中的修改完了一个bug,会引来新bug。

不可移植性

在这里插入图片描述
我们一定要高内聚低耦合的设计,不可移植性是低内聚高耦合的。

粘滞性

在这里插入图片描述环境的粘滞性在布局的时候很麻烦。

不必要的复杂性

在这里插入图片描述本以为自己是深谋远虑,结果你以为的未来却并没有发生。

不必要的重复性

在这里插入图片描述

不透明性

在这里插入图片描述
写代码本来有代码规范,各种类名方法名应该是有可解释性的。

设计模式 是软件开发人员在软件开发过程中,针对一般问题的最佳解决方案,该方案能够被程序员反复应用于解决类似问题

设计模式 – 概述有相关类型的更全面的总结
设计模式类型事例有很通俗的类型例子讲解,可以提供感性认识
我们的设计模式学习中主要包含如下内容。
JAVA相关DPs
在这里插入图片描述今日写文音乐《有可能的夜晚》周深版

不能亲口说晚安
那就唱给你听吧

当你突然看我的时候
当话语开始多余的时候
当心慢慢靠近的时候
这时天刚好黑了
当我快忍不住的时候
当别人开始多余的时候
当爱悄悄来临的时候
这时天刚好黑了
无需言语
无尽浪漫
无限可能的夜晚
让蜡烛代替所有灯
让音乐代替话语声
此时无声胜有声
如果要我开口
只能说一句话
让我成为你的有可能
让yes代替所有no
让勇敢代替所有酒
刚下眉头却上心头
如果要我选择
只能爱一个人
让我成为你的有可能

当你突然看我的时候
当话语开始多余的时候
当心慢慢靠近的时候
这时天刚好黑了
当我快忍不住的时候
当别人开始多余的时候
当爱悄悄来临的时候

Quand il me prend dans ses bras 当他拥我入怀
Qu’il me parle tout bas 低声对我说话 Je
vois la vie en rose 我看见玫瑰色的人生
Il me dit des mots d’amour 他对我说爱的言语
Des mots de tous les jours 天天有说不完的情话
Et ça me fait quelque chose 这对我来说可不一般
让yes代替所有no
让勇敢代替所有酒
刚下眉头却上心头
如果要我选择只能爱一个人
让我成为你的有可能

如果只能说一句话
让我成为你的有可能

本文链接http://element-ui.cn/news/show-341885.aspx