站在思想层面看MVX架构

程序的本质

程序的本质在于模拟现实,但是有更明确的分工

简单的一个例子: 我 写 代码。

这是一个主谓结构: 主语->我,谓语->写,宾语->代码。

现在让我们来面向视角看问题:

  • 代码: 是个物体,是用来 被 写 的
  • 写: 是个动作,是用来 被 我执行的
  • 我: 是个物体,是用来 执行 写 这个动作 写代码的。

好,接着我们来面向对象写代码:

首先,创建一个我,这是个物体,所以应该创建一个对象:

public class Me {

}

然后,需要有代码,才能写,代码也是一个物体,那么再创建一个对象:

public class Code {

}

等等,代码应该有内容,有注释,好,我们来简单模拟下(程序就是模拟现实的):

public class Code {
    // 代码
    public String code;
    // 注释
    public String comment;
}

最后,需要创建一个写的动作,写既然是一个动作,不是物体,那么肯定是属于某个物体的行为,这里就是我的行为,动作就是函数(接口),于是就在 "我" 里面添加函数:

public class Me {
    // 添加写的行为,写什么?写代码
    public Code write() {
        Code code = new Code();
        code.code = "This is code";
        return code;
    }
}

这里有个问题,写过的代码,怎么展示出来呢,我们需要个显示器来显示,显示器是物体,所以我们需要定义个对象:

public class Display {
    // 显示器可以显示内容
    public void display(String content) {
        System.out.println(content);
    }
}

然后,我们需要展示我们的代码,我们可以直接这样改:

public class Me {
    // 添加写的行为,写什么?写代码
    public Code write() {

        // 写代码
        Code code = new Code();
        code.code = "This is code";
        
        // 展示
        Display display  = new Display();
        display.display(code.code);
        return code;
    }
}

这样当然没问题,但是,write()明明是一个写的函数,却额外做了展示的事情,不满足SR

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值