当前位置: 首页 > news >正文

wordpress教程帕兰如何优化

wordpress教程帕兰,如何优化,广州做网站需要多少钱,怎么看一个网站是由哪个公司做的接口隔离原则引出 接口隔离原则 定义:用多个专门的接口,不使用单一的总接口,客户端不应该依赖它不需要的接口; 一个类对另一个类的依赖,应该建立在最小接口上;如果有一个大接口,里面有很多方法,如果使用一个类实现该接口,所有的类都要实现,导致代码冗余;…

接口隔离原则引出

 接口隔离原则

定义:用多个专门的接口,不使用单一的总接口,客户端不应该依赖它不需要的接口;


一个类对另一个类的依赖,应该建立在最小接口上;如果有一个大接口,里面有很多方法,如果使用一个类实现该接口,所有的类都要实现,导致代码冗余;

建立功能单一接口,不要建立特别多功能的接口;接口设计不能过大过小,适度接口。

优点:高内聚,低耦合,类具有很好的可读性,可扩展性,可维护性;

降低耦合:平时设计接口时,只暴露客户端需要的方法,客户端不需要的方法,直接隐藏起来;
提高内聚:减少对外交互,使用接口中最少的方法,完成最多的事情;

实际开发中,对以后有可能会发生变更的地方做一些预判,抽象出业务模型。

接口隔离原则案例

public interface Animal{void eat();void fly();void walk();void swim();
}
//实现一个鸟类,swim方法是空的,造成代码冗余public class Bird implements Animal{@Overridepublic void eat() {}@Overridepublic void fly() {}@Overridepublic void walk() {}@Overridepublic void swim() {}
}

正确做法如下:

public interface IEat {void eat();
}
public interface IWalk {void walk();
}
public interface ISwim {void swim();
}
public interface IFly{void fly();
}//鸟可以飞,走,吃;不能游泳
public class Dog implements IEat,IWalk,IFly{@Overridepublic void eat() {}@Overridepublic void fly() {}@Overridepublic void walk() {}
}

迪米特原则引出


迪米特原则

定义:一个对象应该对其它对象,保持最少的了解;

尽量降低类之间的耦合;对外部引入的类,越少越好;

优点:降低了类之间的耦合;

代码层面:不要对外公开太多的public方法和变量,多使用private/protected权限;

核心观念:类的解耦,解耦是有一定程度的,尽量做到弱耦合,耦合程度越低,类的复用率才能提高;由于减少了类之间不必要的依赖,从而达到了降低了耦合的目的;

只和朋友交流,不和陌生人说话

朋友:出现在成员变量,方法的输入,输出参数中的类,称为成员朋友类;出现在方法体内部的类,不属于朋友类;也就是说类A,我使用了类A中的方法,或成员,尽量避免导致本类import导入新的类;


迪米特原则案例

老师让班长记录考勤

//老师类
public class Teacher{public void checkAttendance(Monitor monitor) {List<Student> studentList= new ArrayList<>();for (int i = 0; i < 50; i++) {studentList.add(new Student());}monitor.checkAttendance(studentList);}
}
//班长类
public class Monitor{public void checkStudentAttendance(List<Student> studentList) {System.out.println("今天有" + studentList.size()+"学生到教室");}
}
public class Student{
//学生类
}public class Main {public static void main(String[] args) {Teacher teacher= new Teacher();Monitor monitor= new Monitor();teacher.checkAttendance(monitor);}
}
//遵循迪米特原则
//Teacher直接给Monitor下指令 , Monitor去查考勤//老师类
public class Teacher{public void checAttendance(Monitor monitor) {monitor.checkAttendance();}
}
//班长类
public class Monitor{public void checkStudentAttendance(List<Student> studentList) {List<Student> studentList= new ArrayList<>();for (int i = 0; i < 50; i++) {studentList.add(new Student());}System.out.println("今天有" + studentList.size()+"学生到教室");}
}
public class Student{
//学生类
}
public class Main {public static void main(String[] args) {Teacher teacher= new Teacher ();Monitor monitor = new Monitor();teacher.checAttendance(monitor );}
}
http://www.hrbkazy.com/news/24819.html

相关文章:

  • 自己做的网站怎样赚钱吗搜索引擎排名优化包括哪些方面
  • 南通专业网站排名推广深圳百度推广联系方式
  • 长春 美容 网站建设百度爱采购关键词优化
  • 用mockplus做网站原型14个seo小技巧
  • 山东做网站建设的好公司排名安徽搜索引擎优化
  • 电子商务网站建设效果知乎推广优化
  • 网站制作平台有哪些seo海外推广
  • 常用网站搜索引擎360搜索引擎下载
  • 软文推广渠道网站seo工具
  • 北京 网站建设公司爱战网关键词挖掘
  • 网站建设手机软件app下载免费安装
  • 谷歌独立站建站得多少钱东莞头条最新新闻
  • 如何做网站title小标图企业如何进行网站推广
  • 网站建网站建设网站网络推广代理怎么做
  • 武汉如何做网站seo课程培训学校
  • 有了域名 网站建设什么关键词可以搜到那种
  • 如何备案成企业网站外国网站的浏览器
  • 怎么做网站电话客服宁波seo基础入门
  • 在哪几个网站里可以做淘客seo优化工具
  • 德州做网站公司seo策略是什么意思
  • 保定定兴网站建设南宁网络推广培训机构
  • 建站工具上市宁波seo企业网络推广
  • 广东网站建设哪家好全国新闻媒体发稿平台
  • 海口网站建设公司seo策略有哪些
  • 深圳服务好的网站建设百度网站链接
  • 开个淘宝店做网站设计好吗链接检测工具
  • 企业加盟网站建设cps广告联盟平台
  • 看一个网站是哪里做的百度推广怎么操作
  • 番禺网站制作技术爱站网 关键词挖掘
  • 众讯 网站建设网站建设公司哪家好