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

长沙哪家网站公司新浪网网站的建设费用预算

长沙哪家网站公司,新浪网网站的建设费用预算,做网站投入,动态手机网站怎么做的文章目录 3.3 依赖倒转原则(DIP)3.3.1概述3.3.2 案例 3.3 依赖倒转原则(DIP) 依赖倒转原则#xff1a;Dependency Inversion Principle#xff0c;DIP 3.3.1概述 高层模块不应该依赖低层模块#xff0c;两者都应该依赖其抽象#xff1b;抽象不应该依赖细节#xff0c;细… 文章目录 3.3 依赖倒转原则(DIP)3.3.1概述3.3.2 案例 3.3 依赖倒转原则(DIP) 依赖倒转原则Dependency Inversion PrincipleDIP 3.3.1概述 高层模块不应该依赖低层模块两者都应该依赖其抽象抽象不应该依赖细节细节应该依赖抽象。简单的说就是要求对抽象进行编程不要对实现进行编程这样就降低了客户与实现模块间的耦合。 3.3.2 案例 下面看一个例子来理解依赖倒转原则 【例】组装电脑 现要组装一台电脑需要配件cpu硬盘内存条。只有这些配置都有了计算机才能正常的运行。选择cpu有很多选择如IntelAMD等硬盘可以选择希捷西数等内存条可以选择金士顿海盗船等。 public class InterCpu {public void runCpu(){System.out.println(Inter的cpu正在运行...);} } public class KingstonMemory {public void saveMemory(){System.out.println(使用金士顿作为内存条...);} } public class XiJieHardDisk {public void saveDisk(String data){System.out.println(从硬盘获取的数据是:data);}public String getData(){System.out.println(获取硬盘数据操作...);return 获取硬盘数据完成。;} } public class Computer {private XiJieHardDisk hardDisk;//硬盘private InterCpu cpu;// cpuprivate KingstonMemory memory;//内存public Computer() {}public Computer(XiJieHardDisk hardDisk, InterCpu cpu, KingstonMemory memory) {this.hardDisk hardDisk;this.cpu cpu;this.memory memory;}public XiJieHardDisk getHardDisk() {return hardDisk;}public void setHardDisk(XiJieHardDisk hardDisk) {this.hardDisk hardDisk;}public InterCpu getCpu() {return cpu;}public void setCpu(InterCpu cpu) {this.cpu cpu;}public KingstonMemory getMemory() {return memory;}public void setMemory(KingstonMemory memory) {this.memory memory;}public void runComputer(){System.out.println(计算机正在工作...);cpu.runCpu();memory.saveMemory();hardDisk.saveDisk(你好Java。);String data hardDisk.getData();System.out.println(data);} } //测试类public class ComputerTest {public static void main(String[] args) {// 创建计算机组件内存、硬盘、cpuKingstonMemory k new KingstonMemory();//表示内存InterCpu i new InterCpu();// 表示 cpuXiJieHardDisk x new XiJieHardDisk();// 表示硬盘// 创建计算机对象并组装(即传入组件参数)Computer computer new Computer(x,i,k);// 运行计算机computer.runComputer();} }上面代码可以看到已经组装了一台电脑但是似乎组装的电脑的cpu只能是Intel的内存条只能是金士顿的硬盘只能是希捷的这对用户肯定是不友好的用户有了机箱肯定是想按照自己的喜好选择自己喜欢的配件。如果想换成不是Intel的cpu需要修改Computer类这就违背了开闭原则。 根据依赖倒转原则进行改进 // Cpu接口 public interface Cpu {public abstract void runCpu(); } // 硬盘接口 public interface HardDisk {public abstract void saveDate(String date);public abstract String getDate(); } // 内存接口 public interface Memory {public abstract void saveMemory(); } //IntelCpu类实现Cpu接口public class IntelCpu implements Cpu{Overridepublic void runCpu() {System.out.println(InterCpu正在运行...);} } // 新增Amd类型的cpu public class AmdCpu implements Cpu{Overridepublic void runCpu() {System.out.println(AMD Cpu正在运行...);} } // KingstonMemory类实现Memory接口 public class KingstonMemory implements Memory{Overridepublic void saveMemory() {System.out.println(使用金士顿作为内存条...);} } // XiJieHardDisk类实现HardDisk接口 public class XiJieHardDisk implements HardDisk{Overridepublic void saveDate(String date) {System.out.println(从硬盘获取的数据是:date);}Overridepublic String getDate() {System.out.println(获取硬盘数据操作...);return 获取硬盘数据完成。;} } //聚合各种组件public class Computer {private HardDisk hardDisk;private Cpu cpu;private Memory memory;public Computer() {}public Computer(HardDisk hardDisk, Cpu cpu, Memory memory) {this.hardDisk hardDisk;this.cpu cpu;this.memory memory;}public HardDisk getHardDisk() {return hardDisk;}public void setHardDisk(HardDisk hardDisk) {this.hardDisk hardDisk;}public Cpu getCpu() { return cpu;}public void setCpu(Cpu cpu) { this.cpu cpu;}public Memory getMemory() { return memory;}public void setMemory(Memory memory) {this.memory memory;}//运行计算机方法public void runComputer(){System.out.println(计算机正在工作...);cpu.runCpu();memory.saveMemory();hardDisk.saveDate(你好Java。);String data hardDisk.getDate();System.out.println(data);} } //测试类public class ComputerTest {public static void main(String[] args) {// 创建计算机的组件内存、cpu、硬盘// Cpu cpu new IntelCpu();Cpu cpu new AmdCpu();HardDisk hardDisk new XiJieHardDisk();Memory memory new KingstonMemory();// 创建计算机Computer computer new Computer(hardDisk,cpu,memory);// 运行计算机computer.runComputer();} }上述代码根据依赖倒转原则改进后扩展性比较好如想换AMD类型的Cpu,只需子新增一个AmdCpu类去实现Cpu接口重写Cpu里的抽象方法再在测试类中去用Cpu接口去接AmdCpu的对象即可这样就不用修改Computer类里面的代码了。
http://www.dnsts.com.cn/news/59374.html

相关文章:

  • 网站开发的分工手机版网站如何建设
  • 旅游网站网页设计方案做效果图网站
  • 网站 信用卡支付接口加盟装修公司哪家好
  • 郑州建站公司网站wordpress创建单页
  • 钢材网站模板阿里云商标注册官网
  • 高端网站设计服务商微信模板消息
  • 网站建设玖金手指花总仪征市企业网站建设公司
  • 基于html5的购物商城网站建网站需成本多少钱
  • 常州市新北区建设局网站涉县企业做网站推广
  • 仿起点小说网站开发wordpress 显示评论
  • 深圳.网站建设外贸公司怎么注册
  • 内蒙古建设厅门户网站做网站的都改行做什么了
  • 如何在服务器上关闭网站做网站的镜像是什么意思
  • 集团公司网站源码php人力资源外包收费报价表
  • 徐州整站优化创建自己的博客网站吗
  • 辽源市住房和城乡建设局网站wordpress需要伪静态吗
  • 怎么才能找到想做网站建设的客源网页制作培训机构好不好
  • 从哪看出网站的建站公司网站关键词用什么做
  • wpf视频教程 -.net购物网站开发制作一个手机app需要多少钱
  • 商城和营销型网站建设网站主页面设计哪个好
  • 石景山老山网站建设做网站前需要准备什么条件
  • 郴州网站维护黄页企业名录
  • 网站建设需要钱吗wordpress自定义右侧不显示页面
  • 个人做加盟商机网站如何盈利微信客户端app下载
  • 南通网站推广公司网页设计怎么做网站
  • 呼家楼街道网站建设平台管理系统登录
  • 中国建设银行贵州省分行网站智加设计
  • 新网站建设怎么样oray免费域名注册
  • 电子网站建设前台设计居家网络架构
  • 网站制作企业seo专业培训中心