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

上海网站开发报价wordpress 源码语言

上海网站开发报价,wordpress 源码语言,公司个人怎么制作网站,企业网站怎么做的高大上目录 1、 基本介绍 2、 应用实例 3、 依赖关系传递的三种方式 (1) 接口传递 (2) 构造方法传递 (3) setter方式传递 4、 注意事项和细节 1、 基本介绍 依赖倒转原则(Dependence Inversion Principle)是指#xff1a; 高层模块不应该依赖低层模块#xff0c;二者都应该依…目录 1、 基本介绍 2、 应用实例 3、 依赖关系传递的三种方式 (1) 接口传递 (2) 构造方法传递 (3) setter方式传递 4、 注意事项和细节 1、 基本介绍 依赖倒转原则(Dependence Inversion Principle)是指 高层模块不应该依赖低层模块二者都应该依赖其抽象(抽象类/接口)不要去依赖一个具体的子类 抽象不应该依赖细节细节应该依赖抽象这样稳定性会比较好 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念相对于细节的多变性抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在 java 中抽象指的是接口或抽象类细节就是具体的实现类 使用接口或抽象类的目的是制定好规范而不涉及任何具体的操作把展现细节的任务交给他们的实现类去完成接口和抽象类的价值在于设计 2、 应用实例 编程完成Person接收消息的功能。 (1) 传统方式 package com.principle.inversion; public class DependecyInversion1 {public static void main(String[] args) {Person person new Person();person.receive(new Email());} }class Email{public String getInfo() {return 电子邮件信息hello world;} } //方式一分析 //1.优点简单容易想到容易实现 //2.缺点如果我们获取的对象是 微信、短信等等则需要新增类同时Person也需要增加相应的接收方法扩展性不好 //3.解决思路引入一个抽象的接口IReceiver表示接收者这样Person类与接口IReceiver发生依赖 // 因为EmailWeiXin等等都属于接收的范畴它们各自实现IReceiver接口就可以了这样就符合了依赖倒转原则class Person{public void receive(Email email) {System.out.println(email.getInfo());} } (2) 改进方式 package com.principle.inversion; public class DependecyInversion1Improve {public static void main(String[] args) {//客户端无需改变Person person new Person();person.receive(new Email());person.receive(new WeChat());} }interface IReceiver{public String getInfo(); }class Email implements IReceiver{public String getInfo() {return 电子邮件信息hello world;} }class WeChat implements IReceiver{public String getInfo() {return 微信消息hello;} }class Person{public void receive(IReceiver receiver) {System.out.println(receiver.getInfo());} } 3、 依赖关系传递的三种方式 (1) 接口传递 public class DependencyPass {public static void main(String[] args) {ChangHong changHong new ChangHong();OpenAndClose openAndClose new OpenAndClose();openAndClose.open(changHong);} }// 方式 1 通过接口传递实现依赖 // 开关的接口 interface IOpenAndClose {public void open(ITV tv); // 抽象方法,接收接口 }interface ITV { // ITV 接口public void play(); }class ChangHong implements ITV {Overridepublic void play() {System.out.println(长虹电视机打开);} } // 实现接口 class OpenAndClose implements IOpenAndClose {public void open(ITV tv) {tv.play();} } (2) 构造方法传递 public class DependencyPass {public static void main(String[] args) {ChangHong changHong new ChangHong();//通过构造器进行依赖传递OpenAndClose openAndClose new OpenAndClose(changHong);openAndClose.open();} } // 方式 2: 通过构造方法依赖传递 interface IOpenAndClose {public void open(); // 抽象方法 }interface ITV { // ITV 接口public void play(); }class OpenAndClose implements IOpenAndClose {public ITV tv; // 成员public OpenAndClose(ITV tv) { // 通过构造器将接口传入this.tv tv;}public void open() { this.tv.play(); } }class ChangHong implements ITV {Overridepublic void play() {System.out.println(长虹电视机打开);} } (3) setter方式传递 public class DependencyPass {public static void main(String[] args) {ChangHong changHong new ChangHong();//通过 setter 方法进行依赖传递OpenAndClose openAndClose new OpenAndClose();openAndClose.setTv(changHong);openAndClose.open();//没有setTv()直接open()就会报空指针异常} } // 方式 3 ,  通过 setter 方法传递 interface IOpenAndClose {public void open(); // 抽象方法public void setTv(ITV tv); }interface ITV { // ITV 接口public void play(); }class OpenAndClose implements IOpenAndClose {private ITV tv;public void setTv(ITV tv) { this.tv tv; }public void open() { this.tv.play(); } }class ChangHong implements ITV {Overridepublic void play() {System.out.println(长虹电视机打开);} } 4、 注意事项和细节 1低层模块尽量都要有抽象类或接口或者两者都有程序稳定性更好. 2变量的声明类型尽量是抽象类或接口, 这样我们的变量引用和实际对象间就存在一个缓冲层利于程序扩展和优化 比如class A extends B{}其中B是一个抽象类/接口在使用时B obj new A()如果A类要进行扩展只需要在B中增加一个方法即可。 3继承时遵循里氏替换原则
http://www.pierceye.com/news/703142/

相关文章:

  • 营销手机网站目前专业做水果的网站有哪些
  • 莆田仿站定制模板建站网站设计应该考虑的重要因素
  • 简述网站制作过程企业网络推广网站建设
  • 外贸营销网站建设介绍wordpress分库技术
  • 做竞品分析的网站安卓小程序开发入门
  • 做网站的外包公司可以进吗做旅游网站赚钱吗
  • 网站网页设计基本理论教育学校网站源码 php
  • 吉林省建设厅网站专家新华社官网
  • 代做吧机械网站天津建站管理系统价格
  • 开发网站公司都需要什么岗位人员有了网站怎么写文章
  • 白水网站建设郑州网站推广优化公司
  • 做网站的参考文献专业建设报告
  • asp网站搭建工具中英文网站前端怎么做
  • 微信公众号 做不了微网站wordpress怎么转移
  • 主营网站开发游戏推广员每天做什么
  • c 做网站用什么框架长沙网络建设的网站
  • 专业的网站建设网络网站连接跳转怎么做
  • 南山网站设计方案安徽六安特产
  • 设计型网站案例深圳广告投放公司
  • 能源网站模板头条发布视频成功显示404
  • 郑州网站制作企业建设网站多长时间
  • 建站网站知乎wordpress面包屑
  • 用CMS做网站的好处网站流量消耗计算
  • asp 网站 模板网站建设的公司选择哪家好
  • 广州市越秀区建设局网站字体logo设计在线生成
  • 展示网站模版源码软件开发工具包sdk
  • 佛山网站建站网站程序免费下载
  • 课程设计报告 网站开发网络营销代运营外包公司
  • 手机html5网站模板网站怎么做查询功能
  • 有哪些做外贸的网站可做笔记的阅读网站