• 测试01 – 认识软件体系结构


    阅读王概凯的《架构漫谈》笔记前四章,用自己的话回答下列问题,将文件保存成班级学号姓名,发送给课代表,下课后提交。

    1、   什么是架构?

    架构:是将一个工程切分成不同的部分,由不同的成员完成不同的分工,并通过建立各自的有机沟通机制使得各部分结合为一个整体,并完成整个工程。

    2、   为什么要出现架构?

    (1 个人的结构在发展中限制了自身的发展

    (2 为了缩短较大工程的工作时间、提高效率

    (3 对系统的更高追求

    3、   架构解决谁的问题?

    人的问题

    4、实例分析:用MVC模式分析自己家庭架构(要求绘制家庭体系架构图)。

           (1)介绍家庭成员;

                  爸爸、妈妈、姐姐、自己

           (2)介绍家庭业务(例如做饭、洗衣、打扫卫生、刷完等一系列业务)。

                  打扫卫生、做饭、洗衣、刷碗

           (3)介绍谁执行什么业务、怎么做,如何评价业务的效果,评价的标准是什么?

                  爸爸:打扫卫生(扫地、拖地、擦桌子)地面是否干净、桌子是否整洁 标准:地面干净、桌面整洁

                  妈妈:做饭(蒸米、炒菜、熬粥)蒸米是否蒸熟、炒菜是否炒熟、熬粥是否熬好 标准:蒸米蒸熟、炒菜炒熟、粥熬好

                  姐姐:洗衣(放衣服、放洗衣液、搓)衣服是否干净 标准:衣服干净

                  自己:刷碗(放水、放入洗洁精、刷)碗是否干净 标准:碗干净

           (4)各项业务触发的条件。

                  打扫卫生:地面脏、桌面不整洁

                  做饭:到饭点了、饿了

                  洗衣:衣服脏了

                  刷碗:吃完饭了

    (5)根据(2)、(3)、(4)的描述绘制家庭体系架构图;

      

     

    (6)代码建模

    ①模型类:创建一个family(家中各项业务定义成为方法,家庭成员作为变量)。

    public class Family{
    
        private String father = "爸爸";
    
        private String mother = "妈妈";
    
        private String sister = "姐姐";
    
        private String my = "自己";
    
     
    
        public String getFather() {
    
            return father;
    
        }
    
     
    
        public void setFather(String father) {
    
            this.father = father;
    
        }
    
     
    
        public String getMother() {
    
            return mother;
    
        }
    
     
    
        public void setMother(String mother) {
    
            this.mother = mother;
    
        }
    
     
    
        public String getSister() {
    
            return sister;
    
        }
    
     
    
        public void setSister(String sister) {
    
            this.sister = sister;
    
        }
    
     
    
        public String getMy() {
    
            return my;
    
        }
    
     
    
        public void setMy(String my) {
    
            this.my = my;
    
        }
    
     
    
        public static String dasaoWeisheng(){
    
            return "打扫卫生,扫地、拖地、擦桌子";
    
        }
    
        public static String zuoFan(){
    
            return "做饭,蒸米、炒菜、熬粥";
    
        }
    
        public static String xiYi(){
    
            return "洗衣服,洗外套、洗裤子";
    
        }
    
        public static String shuaWan(){
    
            return "刷碗,刷盘子、刷碗";
    
        }
    
    }

    ②执行类:familyView 是一个把家庭业务执行的视图类(例如做完饭后输出结果 “谁做的饭,做得什么饭”)。

    public class FamilyView extends Family{
    
        public static void main(String[] args) {
    
            Family family = new Family();
    
            System.out.println(family.getFather()+dasaoWeisheng());
    
            System.out.println(family.getMother()+zuoFan());
    
            System.out.println(family.getSister()+xiYi());
    
            System.out.println(family.getMy()+shuaWan());
    
        }
    
    }

    ③控制类:familyController,显示是负责存储数据到family对象中的控制器类,并相应地更新视图familyView,即指派谁执行相应的业务,业务之间的关联关系(例如做饭、刷完之间的前后关联关系)。

    public class FamilyController {
    
        public static void main(String[] args) {
    
            Family family = new Family();
    
            family.setFather("爸爸");
    
            family.setMother("妈妈");
    
            family.setSister("姐姐");
    
            family.setMy("自己");
    
            System.out.println("做饭应在刷碗之前");
    
        }
    
    }
  • 相关阅读:
    SQL的四种连接-左外连接、右外连接、内连接、全连接
    查看Linux下端口占用情况的命令
    linux的命令(1)
    xsheell的下载安装初级使用
    日交易,根据权重分配流量的算法,根据权重和交易笔数
    根据权重挑选通道的简单算法
    Java中的String与常量池
    JAVA虚拟机内存分配与回收机制
    JVM 内部运行线程介绍
    AspectJ切入点语法详解
  • 原文地址:https://www.cnblogs.com/lx06/p/15959792.html
Copyright © 2020-2023  润新知