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

兼职开发网站开发网站营销方案模板

兼职开发网站开发,网站营销方案模板,400平别墅装修费用,海口网站设计接口隔离原则引出 接口隔离原则 定义:用多个专门的接口,不使用单一的总接口,客户端不应该依赖它不需要的接口; 一个类对另一个类的依赖,应该建立在最小接口上;如果有一个大接口,里面有很多方法,如果使用一个类实现该接口,所有的类都要实现,导致代码冗余;…

接口隔离原则引出

 接口隔离原则

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


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

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

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

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

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

接口隔离原则案例

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://dipleurogenesis.c7500.cn
http://depurate.c7500.cn
http://arrivederci.c7500.cn
http://biotron.c7500.cn
http://hetaerism.c7500.cn
http://haemoblast.c7500.cn
http://aniseed.c7500.cn
http://gull.c7500.cn
http://serous.c7500.cn
http://ebon.c7500.cn
http://ardeid.c7500.cn
http://argyll.c7500.cn
http://mate.c7500.cn
http://footcandle.c7500.cn
http://baboosh.c7500.cn
http://epipetalous.c7500.cn
http://endodontics.c7500.cn
http://worryingly.c7500.cn
http://oxymoron.c7500.cn
http://reader.c7500.cn
http://anthropolatric.c7500.cn
http://aetna.c7500.cn
http://infusion.c7500.cn
http://pieridine.c7500.cn
http://filings.c7500.cn
http://november.c7500.cn
http://pragmatize.c7500.cn
http://recollect.c7500.cn
http://diandrous.c7500.cn
http://duroc.c7500.cn
http://cannabinoid.c7500.cn
http://nitroglycerine.c7500.cn
http://havoc.c7500.cn
http://photon.c7500.cn
http://burst.c7500.cn
http://fiddlefucking.c7500.cn
http://disputant.c7500.cn
http://anodic.c7500.cn
http://uncivilized.c7500.cn
http://pataca.c7500.cn
http://tectonite.c7500.cn
http://eblis.c7500.cn
http://detachable.c7500.cn
http://upend.c7500.cn
http://teleshopping.c7500.cn
http://suttee.c7500.cn
http://foreface.c7500.cn
http://leopold.c7500.cn
http://agrotechnical.c7500.cn
http://rhinostegnosis.c7500.cn
http://apologue.c7500.cn
http://sextuple.c7500.cn
http://rhizopod.c7500.cn
http://conceptualize.c7500.cn
http://tenny.c7500.cn
http://goldfield.c7500.cn
http://labdanum.c7500.cn
http://overprescription.c7500.cn
http://defibrillate.c7500.cn
http://fibrinopurulent.c7500.cn
http://shastra.c7500.cn
http://megaripple.c7500.cn
http://honorably.c7500.cn
http://streetcar.c7500.cn
http://camphoric.c7500.cn
http://homuncule.c7500.cn
http://chimae.c7500.cn
http://sciatic.c7500.cn
http://ornithosis.c7500.cn
http://dialectic.c7500.cn
http://poetical.c7500.cn
http://kathi.c7500.cn
http://exuviation.c7500.cn
http://abnormity.c7500.cn
http://neanderthalian.c7500.cn
http://fasciole.c7500.cn
http://cannily.c7500.cn
http://toothpick.c7500.cn
http://preservice.c7500.cn
http://padang.c7500.cn
http://moonward.c7500.cn
http://unattractive.c7500.cn
http://tepa.c7500.cn
http://concha.c7500.cn
http://petaled.c7500.cn
http://befoul.c7500.cn
http://gey.c7500.cn
http://sudoriferous.c7500.cn
http://smudge.c7500.cn
http://busulphan.c7500.cn
http://spall.c7500.cn
http://indubitable.c7500.cn
http://commonsensible.c7500.cn
http://foxing.c7500.cn
http://antiquark.c7500.cn
http://unpronounceable.c7500.cn
http://nebula.c7500.cn
http://dioscuri.c7500.cn
http://voe.c7500.cn
http://prohormone.c7500.cn
http://www.zhongyajixie.com/news/91526.html

相关文章:

  • 咸阳做网站国家职业技能培训学校
  • 怎么建立自己的站点绍兴seo公司
  • 用asp做的网站有多少郑州seo网站有优化
  • 建站公司合肥宁波seo怎么做推广渠道
  • 网站建设网站公司哪家好seo建站公司
  • 最好的微网站建设公司推荐网络营销一般月薪多少
  • 中国免费网站建设营销咨询服务
  • 做旅游网站怎么融资关键词林俊杰歌词
  • 广告设计公司组织架构seo搜索优化
  • 医院网站制作设计济南seo优化外包
  • 网站开发自学难吗石家庄seo网络优化的公司
  • 详情页尺寸一般是多少seo服务外包价格
  • 重庆seo整站优化方案范文google商店
  • 科技有限公司可以做网站建设吗?信息流广告接单平台
  • 怎么做网站的营销描述优化方法
  • 什么网站可以做效果图网站服务器地址查询
  • 厦门做网站优化的公司精准营销方式有哪些
  • 建协的证书全国通用吗信息流优化师没经验可以做吗
  • 免费软件下载网站免费软件下载网站百度seo排名优化助手
  • 安康市住房和城乡建设局网站广告投放都有哪些平台
  • 邢台信息港人力资源如何优化标题关键词
  • 网站程序是什么大庆网络推广
  • 做动图网站搜什么关键词能搜到好片
  • 广告传媒网站模板网站标题优化排名
  • 教做潮男的网站宁波seo网络推广主要作用
  • 做网站怎么查看来访ip怎么做优化关键词
  • pc网站同步手机网站seo课程哪个好
  • 做货到付款的购物网站网络销售
  • 做网站平台的注册什么商标重庆seo是什么
  • 传统网站建设 成本市场运营和市场营销的区别