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

怎么做自己网站计算机网站开发面试问题及答案

怎么做自己网站,计算机网站开发面试问题及答案,wordpress 自定义表单,农产品网站建设及优化项目定义#xff1a;高层模块不应该依赖低层模块#xff0c;二者都应该依赖其抽象#xff1b;抽象不应该依赖细节#xff1b;细节应该依赖抽象。 问题由来#xff1a;类A直接依赖类B#xff0c;假如要将类A改为依赖类C#xff0c;则必须通过修改类A的代码来达成。这种场景下…定义高层模块不应该依赖低层模块二者都应该依赖其抽象抽象不应该依赖细节细节应该依赖抽象。 问题由来类A直接依赖类B假如要将类A改为依赖类C则必须通过修改类A的代码来达成。这种场景下类A一般是高层模块负责复杂的业务逻辑类B和类C是低层模块负责基本的原子操作假如修改类A会给程序带来不必要的风险。 解决方案将类A修改为依赖接口I类B和类C各自实现接口I类A通过接口I间接与类B或者类C发生联系则会大大降低修改类A的几率。          依赖倒置原则基于这样一个事实相对于细节的多变性抽象的东西要稳定的多。以抽象为基础搭建起来的架构比以细节为基础搭建起来的架构要稳定的多。在java中抽象指的是接口或者抽象类细节就是具体的实现类使用接口或者抽象类的目的是制定好规范和契约而不去涉及任何具体的操作把展现细节的任务交给他们的实现类去完成。          依赖倒置原则的核心思想是面向接口编程我们依旧用一个例子来说明面向接口编程比相对于面向实现编程好在什么地方。场景是这样的母亲给孩子讲故事只要给她一本书她就可以照着书给孩子讲故事了。代码如下 1 class Book{ 2 public String getContent(){ 3 return 很久很久以前有一个阿拉伯的故事……; 4 } 5 } 6 7 class Mother{ 8 public void narrate(Book book){ 9 System.out.println(妈妈开始讲故事); 10 System.out.println(book.getContent()); 11 } 12 } 13 14 public class Client{ 15 public static void main(String[] args){ 16 Mother mother new Mother(); 17 mother.narrate(new Book()); 18 } 19 }   运行结果 妈妈开始讲故事很久很久以前有一个阿拉伯的故事……         运行良好假如有一天需求变成这样不是给书而是给一份报纸让这位母亲讲一下报纸上的故事报纸的代码如下 1 class Newspaper{ 2 public String getContent(){ 3 return 林书豪387领导尼克斯击败湖人……; 4 } 5 }             这位母亲却办不到因为她居然不会读报纸上的故事这太荒唐了只是将书换成报纸居然必须要修改Mother才能读。假如以后需求换成杂志呢换成网页呢还要不断地修改Mother这显然不是好的设计。原因就是Mother与Book之间的耦合性太高了必须降低他们之间的耦合度才行。 我们引入一个抽象的接口IReader。读物只要是带字的都属于读物 1 interface IReader{ 2 public String getContent(); 3 }     Mother类与接口IReader发生依赖关系而Book和Newspaper都属于读物的范畴他们各自都去实现IReader接口这样就符合依赖倒置原则了代码修改为 1 class Newspaper implements IReader { 2 public String getContent(){ 3 return 林书豪179助尼克斯击败老鹰……; 4 } 5 } 6 class Book implements IReader{ 7 public String getContent(){ 8 return 很久很久以前有一个阿拉伯的故事……; 9 } 10 } 11 12 class Mother{ 13 public void narrate(IReader reader){ 14 System.out.println(妈妈开始讲故事); 15 System.out.println(reader.getContent()); 16 } 17 } 18 19 public class Client{ 20 public static void main(String[] args){ 21 Mother mother new Mother(); 22 mother.narrate(new Book()); 23 mother.narrate(new Newspaper()); 24 } 25 }   运行结果 妈妈开始讲故事很久很久以前有一个阿拉伯的故事……妈妈开始讲故事林书豪179助尼克斯击败老鹰……     这样修改后无论以后怎样扩展Client类都不需要再修改Mother类了。这只是一个简单的例子实际情况中代表高层模块的Mother类将负责完成主要的业务逻辑一旦需要对它进行修改引入错误的风险极大。所以遵循依赖倒置原则可以降低类之间的耦合性提高系统的稳定性降低修改程序造成的风险。     采用依赖倒置原则给多人并行开发带来了极大的便利比如上例中原本Mother类与Book类直接耦合时Mother类必须等Book类编码完成后才可以进行编码因为Mother类依赖于Book类。修改后的程序则可以同时开工互不影响因为Mother与Book类一点关系也没有。参与协作开发的人越多、项目越庞大采用依赖导致原则的意义就越重大。现在很流行的TDD开发模式就是依赖倒置原则最成功的应用。          传递依赖关系有三种方式以上的例子中使用的方法是接口传递另外还有两种传递方式构造方法传递和setter方法传递相信用过Spring框架的对依赖的传递方式一定不会陌生。在实际编程中我们一般需要做到如下3点 低层模块尽量都要有抽象类或接口或者两者都有。变量的声明类型尽量是抽象类或接口。使用继承时遵循里氏替换原则。        依赖倒置原则的核心就是要我们面向接口编程理解了面向接口编程也就理解了依赖倒置。   转自http://blog.csdn.net/zhengzhb/article/details/7289269转载于:https://www.cnblogs.com/zl1991/p/6283221.html
http://www.zqtcl.cn/news/675825/

相关文章:

  • 昆明市住房和城乡建设局网站怎么导出wordpress 整个网站
  • 哈尔滨 高端网站建设好用的网站链接
  • 优化网站建设seo关于申请网站建设经费的请示
  • 公交车网站怎么做留言板新公司起名大全
  • asp.net网站开发 vs2017广州seo成功案例
  • asp网站表格代码国家信用信息公示系统陕西
  • 网站建设技术文档网站做二维码
  • 模板建站公司wordpress 换行无效
  • 网站建设付款方式镇江网站设计开发公司电话
  • 萍乡网站制作公司末备案网站如何做cdn
  • 做透水砖的网站西充县企业网站建设
  • 29网站建设全部厦门建设网站建站
  • 列出网站开发建设的步骤高端品牌女装连衣裙
  • 长沙设计网站建设搜索引擎优化平台
  • 网站建设 可以吗打开浏览器的网站
  • 惠州定制网站制作推荐chinacd wordpress第三性
  • 网站建设从初级到精通网站开发成本预算价目表
  • 网站程序开发上海高端网站开发站霸网络
  • 企业网站对网络营销的意义环保材料 技术支持 东莞网站建设
  • 房地产网站建设价格买卖网站
  • 网站宣传方案开发专业网站
  • 电子商务+网站建设wordpress首页幻灯
  • 网站建设表格的属性学校网站建设命名
  • 清远网站建设自学网站开发要多久
  • 可信网站 quot 验证能防范哪些安全.教育类app开发价格表
  • 网站设计服务流程深圳网站设计公司费用大概多少
  • 邮件网站怎么做的本地计算机做网站服务器
  • 自己建的网站打不开html5 手机网站 模版
  • 网站建设跟网站结构如何提高网站排名的方法
  • 网站模板 缓存商标网上开店创业计划书