设计模式 迪米特原则

思维导图在 设计模式

现在我要查期末分数了,在这之前要做的事情

收卷,分发试卷,检查试卷,看试卷,把成绩发布

复制代码
class Room{
    public void Getexam(){
    }
    public void Postexam(){
    }
    public void Checkexam(){
    }
    public void Lookexam(){
    }
    public void Regrade(){
    }
    public void Findgrade(){
        Getexam();
        Postexam();
        Checkexam();
        Lookexam();
        Regrade();
    }
}
复制代码

然后调用的时候有点蒙蔽了,到底哪一个才是正确的查成绩方法?我只想查个成绩而已,哪来的这么多方法????

实际上我只关心能够查成绩就完事了~所以把Findgrade()以外的所有函数设定为private。

接下来,正确查成绩就是两件事:交卷阅卷(老师) 查成绩(自己)

与自己直接相关的通信就是点一下教务系统的查询而已。。至于试卷怎么看的与我无关。

于是多加一个类。

public class Pickme{
    Room room = new Room();
    public void Get(){
        room.Findgrade();
    }
}

 

posted @   樱花落舞  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) D
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) C
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) B
2017-07-26 Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) A
2017-07-26 Codeforces Round #396 (Div. 2) E
2017-07-26 Codeforces Round #396 (Div. 2) D
2017-07-26 Codeforces Round #396 (Div. 2) C
点击右上角即可分享
微信分享提示