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

局强化网站建设和管理网上交易平台网站建设公司

局强化网站建设和管理,网上交易平台网站建设公司,网站建设去哪里,做外贸在哪个网站比较好一、接口隔离原则 1、原理 客户端不应该依赖它不需要的接口#xff0c;即一个类对另一个类的依赖应该建立在最小的接口上。如果强迫客户端依赖于那些它们不使用的接口#xff0c;那么客户端就面临着这个未使用的接口的改变所带来的变更#xff0c;这无意间导致了客户程序之…一、接口隔离原则 1、原理 客户端不应该依赖它不需要的接口即一个类对另一个类的依赖应该建立在最小的接口上。如果强迫客户端依赖于那些它们不使用的接口那么客户端就面临着这个未使用的接口的改变所带来的变更这无意间导致了客户程序之间的耦合。换种说法如果一个客户程序依赖于一个含有它不使用的方法的类但是其他客户程序确需要使用该方法那么当其他客户要求这个类改变时就会影响到这个客户程序。我们希望尽可能地避免这种耦合因此我们希望分离接口。 2、示例 2.1、迭代一 A类通过接口依赖B类B类实现接口全部方法但是A类只使用B类的func1、func2、func3等三个方法C类通过接口依赖D类D类实现接口全部方法C类使用到接口的func1、func4、func5等三个方法。UML类图如下 代码如下 #include iostream using namespace std;// Interface 接口 class Interface { public:virtual void func1();virtual void func2();virtual void func3();virtual void func4();virtual void func5(); };// B 类 class B : public Interface { public:void func1(){cout B 类实现 func1 endl;}void func2(){cout B 类实现 func2 endl;}void func3(){cout B 类实现 func3 endl;}void func4(){cout B 类实现 func4 endl;}void func5(){cout B 类实现 func5 endl;} };// D 类 class D : public Interface { public:void func1(){cout D 类实现 func1 endl;}void func2(){cout D 类实现 func2 endl;}void func3(){cout D 类实现 func3 endl;}void func4(){cout D 类实现 func4 endl;}void func5(){cout D 类实现 func5 endl;} };// 1、A类 通过Interface接口 依赖B类 // 2、A类使用到接口的1、2、3等三个方法 class A { public:void depend1(Interface i){i.func1();}void depend2(Interface i){i.func2();}void depend3(Interface i){i.func3();} };// 1、C类 通过Interface接口 依赖D类 // 2、C类使用到接口的1、4、5等三个方法 class C { public:void depend1(Interface i){i.func1();}void depend4(Interface i){i.func4();}void depend5(Interface i){i.func5();} };int main() {B objB;D objD;A objA;C objC;objA.depend1(objB);objA.depend2(objB);objA.depend3(objB);objC.depend1(objD);objC.depend4(objD);objC.depend5(objD);return 0; }上面代码存在的问题 接口对于类A与类C来说不是最小接口那么类B和类D必须去实现他们不需要的方法 2.2、迭代二 按照接口分离原则类A与类C分别于他们需要的接口建立依赖关系修改后的类图如下 3、结论 胖类会导致它们的客户程序之间产生不正常的并且有害的耦合关系。当一个客户程序要求该胖类进行一个改动时会影响到其他的所有的客户程序。因此、客户程序应该仅仅依赖于它们实际调用的方法。通过把胖类的接口分解为多个特定于客户程序的接口可以实现这个目标。
http://www.dnsts.com.cn/news/133267.html

相关文章:

  • 室内设计网站案例陕西电商网站建设
  • 贵阳网站备案南方人才网
  • 网站截流做cpa广告设计在线
  • 重庆网站建设培训机构wordpress 标签云链接
  • 上传网站图片处理上海市网站建设电话号码
  • 网站开发项目技能比赛获奖报道上海关键词优化报价
  • 网站图片加水印作文网站高中
  • 邢台wap网站建设微信小店怎么开通
  • 下载类网站模板动画设计与制作主要学什么
  • 中国空间站完成图环球军事头条
  • 无icp备案的网站合法吗修改WordPress的配置文件
  • 旅游网站的广告预算怎么做网站app建设需要资源
  • 开个网站多少钱一年怎么更换网站图片
  • 南宁网站建设seo优化营销制作电商的网站设计
  • 北京外贸网站优化wordpress产品页面模板下载
  • 空间代码网站有经验的南昌网站设计
  • 网站建设的国内外现状页面具有动态效果网站建设
  • 网站怎么查看访问量全国工商网站查询企业信息
  • 网站设置合理的内链机制深圳皇冠科技有限公司网站
  • 单页营销网站设计第三方物流网站建设
  • 台州免费做网站wordpress单页主题营销
  • 哪里有做杂志的免费模板下载网站适合网站设计的gif图片
  • 网站建设 外文文献网站建设注册
  • 建网站需要多少钱2017免费咨询医生皮肤科专家
  • 钓鱼网站模板制作邢台网红排行榜
  • 律所网站建设国队男子接力赛最高级网站建设
  • 汉中免费做网站成华网站制作
  • 平湖新埭哪里有做网站的精湛的合肥网站建设
  • 建一个app和网站那个比较好做网站用什么服务器好
  • 网站项目开发流程有哪七步南京中小企业网站制作