中超
迪米特法则(软件架构设计原则之迪米特法则)

现在来设计一个权限系统,Boss需要查看目前发布到线上的课程数量。这时候,Boss要找到TeamLeader去进行统计,TeamLeader再把统计结果告诉Boss。接下来我们还是来看代码。

TeamLeader类的代码如下:

public class TeamLeader {    public void checkNumberOfCourses(List<Course> courseList){        System.out.println("目前已发布的课程数量是:"+courseList.size());    }}

测试代码如下:

public static void main(String[] args) {    Boss boss = new Boss();    TeamLeader teamLeader = new TeamLeader();    boss.commandCheckNumber(teamLeader);}

下面对代码进行改造。

Boss类的代码如下:

public class Boss {    public void commandCheckNumber(TeamLeader teamLeader){        teamLeader.checkNumberOfCourses();    }}

学习软件设计原则,千万不能形成强迫症。碰到业务复杂的场景,我们需要随机应变。

本文为“Tom弹架构”原创,转载请注明出处。技术在于分享,我分享我快乐!

如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。关注微信公众号“Tom弹架构”可获取更多技术干货!

其他设计原则

ntent="mp" data-source="innerlink" href="https://www.toutiao.com/i7021508311795253764/?group_id=7021508311795253764" rel="noopener noreferrer noopener noreferrer" target="_blank">开闭原则(Open-Closed Principle,OCP)

ntent="mp" data-source="innerlink" href="https://www.toutiao.com/i7021771162845725198/?group_id=7021771162845725198" rel="noopener noreferrer noopener noreferrer" target="_blank">依赖倒置原则(Dependence Inversion Principle,DIP)

ntent="mp" data-source="innerlink" href="https://www.toutiao.com/i7021809322359374372/?group_id=7021809322359374372" rel="noopener noreferrer noopener noreferrer" target="_blank">单一职责(Simple Responsibility Pinciple,SRP)

ntent="mp" data-source="innerlink" href="https://www.toutiao.com/i7021810440267285006/?group_id=7021810440267285006" rel="noopener noreferrer noopener noreferrer" target="_blank">接口隔离原则(Interface Segregation Principle, ISP)

ntent="mp" data-source="innerlink" href="https://www.toutiao.com/i7021810785403879940/?group_id=7021810785403879940" rel="noopener noreferrer noopener noreferrer" target="_blank">里氏替换原则(Liskov Substitution Principle,LSP)

ntent="mp" data-source="innerlink" href="https://www.toutiao.com/i7021811151457600033/?group_id=7021811151457600033" rel="noopener noreferrer noopener noreferrer" target="_blank">合成复用原则(Composite/Aggregate Reuse Principle,CARP)


顶一下()     踩一下()

热门推荐

发表评论
0评