软件体系结构风格
文章目录
软件体系结构的学习第二篇,软件体系结构风格。
1.软件体系结构定义
软件体系结构的定义:某一特定软件领域的系统组织方式的惯用方式。通俗来讲就是某一类软件的体系结构的特性抽象,它还是由3C构成(Component,Connector,Constraint)。软件体系结构与不同的软件体系结构风格的关系就好比人与黄种人,白种人,黄种人的关系。
2.常见软件体系结构风格
下文的每个软件体系结构风格会从Component,Connector来讲述,一些会附有例子辅助理解。
2.1管道和过滤器
构件:过滤器,输入一组数据,经过处理,并输出一组数据。(IPO)
连接件:管道,将一个构件的输出作为另一个构件的输入。
e.g Linux的管道命令,编译器,Java8特性Stream
2.2数据抽象和面向对象组织
构件:对象
连接件:函数或过程(通过它们实现对象的交互)
2.3基于事件的隐式调用
构件分为两种,事件源( Event Source)和事件处理器(Event Handler)。
连接件为注册。
这个软件体系结构风格与观察者模式相关,事件源就是观察目标,事件处理器就是观察者。将观察者注册到观察目标中的注册对应的就是连接件。所谓隐式调用指的就是事件源和事件处理器是独立的两个构件,事件源并不知道当它触发时,事件处理器会作何反应。
e.g 数据库管理系统和用户界面。
场景模拟:
点击按钮,画面随机变色,按钮的内容变为颜色对应的rgb参数。
测试代码:
package com.lordbao.practice;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
/**
* @Author Lord_Bao
* @Date 2020/10/12 18:38
* @Version 1.0
*/
public class TestImplicitCallBasedOnEvent {
public static void main(String[] args