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

网站建设公司的那些坑电信cn2线路

网站建设公司的那些坑,电信cn2线路,唐山注册公司网上申请入口,建个网站需要多少钱? 知乎依赖倒置引出 依赖倒置 定义#xff1a;高层模块不应该依赖低层模块#xff0c;二者都应该依赖抽象#xff1b;抽象不应该依赖细节#xff0c;细节应该依赖抽象。面向接口编程而不是面向实现编程。 通过抽象使用抽象类、接口让各个类or模块之间独立不影响#xff0c;实现…依赖倒置引出 依赖倒置 定义高层模块不应该依赖低层模块二者都应该依赖抽象抽象不应该依赖细节细节应该依赖抽象。面向接口编程而不是面向实现编程。 通过抽象使用抽象类、接口让各个类or模块之间独立不影响实现模块之间的松耦合降低模块之间的耦合性。 注意每个类都尽量实现接口or继承抽象类尽量避免从具体的类派生尽量不要覆盖基类方法。 优点减少类之间耦合性提高系统稳定性、可维护性、代码可读性。 依赖倒置案例 public class Customer {public void buyTV() {System.out.println(买电视机);}public void buyPhone() {System.out.println(买手机);} } //试问如果需要买其他商品呢就要在这个具体Customer类中去加方法可维护性低。 依赖倒置——接口注入 //顾客类 public class Customer {public void buy(IGood iGood) {iGood.buy();} }//商品的接口 public interface IGood{void buy();//抽象的buy方法 }//电视机商品 public class TVGood implements IGood {Overridepublic void buy() {System.out.println(买电视机);} } //手机商品 public class PhoneGood implements IGood {Overridepublic void buy() {System.out.println(买手机);} }public class Main {public static void main(String[] args) {Customer customer new Customer();customer.buy(new TVGood());} } 依赖倒置——构造器注入 public class Customer {private IGood iGood;public Customer(IGood iGood) {this.iGood iGood;}public void buy() {this.iGood.buy();} }public class Main {public static void main(String[] args) {Customer customer new Customer(new TVGood());customer.buy();} } 依赖倒置——Setter注入推荐 public class Customer {private IGood iGood;public void setiGood(IGood iGood) {this.iGood iGood;}public void buy() {this.iGood.buy();} } 合成复用原则引出 合成复用原则 定义想要达到软件复用的目的,尽量使用对象组合/聚合,而不是继承关系; 组合A类中包含了B类的引用,当A类对象销毁时,B类引用所指向的对象也一同消失,没有任何一个引用指向他,该引用成为了垃圾对象,被回收;聚合加入A类销毁后,B类对象还有在其它位置被引用,B类对象不会被销毁, 电脑与鼠标是聚合关系,电脑毁了鼠标可以独立存在,还可以接在其它电脑上; 合成复用优点系统更加灵活,降低类之间耦合度,一个类的变化对其他类造成的影响相对较少;合成复用缺点通过组合/聚合方式建造的系统,有较多的对象需要管理; 继承复用优点易扩展;继承复用缺点白箱复用继承将父类的实现细节暴露给了子类 继承复用案例 /*** 数据连接*/ public class DBConnection {public String getConnection() {return 数据连接;} }public class ProDao extends DBConnection {/*** 增加产品*/public void addProduct() {// 父类super获取连接String conn super.getConnection();System.out.println(使用 conn 增加产品);} }public class Main {public static void main(String[] args) {ProductDao proDao new ProDao();productDao.addProduct();} }合成复用案例 /*** 抽象类*/ public abstract class DBConnection {public abstract String getConnection(); }/*** MySQL连接*/ public class MySqlConnection extends DBConnection {Overridepublic String getConnection() {return MySQL数据库连接;} } /*** Oracle连接*/ public class OracleConnection extends DBConnection {Overridepublic String getConnection() {return Oracle数据库连接;} }//----------------------------------------------------------------------/*** 增加数据*/ public class ProDao {/*** 组合方式注入数据库连接*/private DBConnection connection;public ProductDao(DBConnection connection) {this.connection connection;}/*** 新增*/public void addProduct() {// 获取连接String conn connection.getConnection();System.out.println(使用 conn 增加产品);} }public class Main {public static void main(String[] args) {ProductDao proDao new ProDao(new MysqlConnection());productDao.addProduct();} }
http://www.hkea.cn/news/14376008/

相关文章:

  • 和布克赛尔网站建设中移建设 公司 网站
  • 读书网网站建设策划书php7.3 wordpress
  • 合肥网站制作推广设置网站的关键词
  • o2o网站建设最好公司排名开办 网站建设费 科目
  • 网站建设 阿里云公司网站建设哪家快
  • store软件下载安阳网站建设推广优化
  • 网站开发需要的技能东莞58同城二手车
  • 视频网站广告代码我的学校网页模板
  • 网站模板怎么做江西网站建设哪家好
  • 百度做网站推广的费用cms模板
  • 苏州市住房城乡建设局网站兰山区建设局网站
  • 宁国做网站酒店行业的网站建设
  • 邯郸教育网站建设南京百度做网站电话
  • opencart网站天水市网站建设
  • 公司网站域名备案对网站名称有要求或界定吗巨野菏泽网站建设
  • dw网站导航怎么做网页游戏排行榜对战
  • 绝味鸭脖网站建设规划书青岛制作网站哪家公司好
  • 昆山市住房和建设局网站主题网站设计
  • 胶州国际网站建设效果软件开发内容有哪些
  • 泰安营销型网站建设站点推广促销
  • 如何在网上做网站在线名片设计
  • 兼职做放单主持那个网站好wordpress链接设置
  • 极速网站建设哪家好做网站需要招什么职位
  • 网站怎么才有alexa排名中国服装设计网站
  • 网站开发专业就业培训学校淄博英文网站建设专业
  • 视频拍摄appseo排名优化app
  • 深圳优定软件网站建设我想花钱做网站
  • 网站建议方案最新永久ae86tv最新
  • 一个网站两个域名吗静态网站 模板
  • 建外贸网站公司做彩票网站用什么服务器