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

三水营销网站开发跨国网站

三水营销网站开发,跨国网站,网站公司模板,南昌网站建设方式依赖倒置引出 依赖倒置 定义#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.dnsts.com.cn/news/126979.html

相关文章:

  • 有什么好看的网站资源扁平化设计 科技感网站素材
  • 台州网站排名优化价格网站推广思路
  • 企业官网型网站建设公司装修设计图片
  • 网站建设招标参数长春城投建设投资有限公司网站
  • 做点小本意 哪个网站拿货便宜点营销型企业网站系统模板下载
  • 加强文明网站内容建设cms 做网站模板
  • 建设厅网站打不开wordpress 安装主体
  • 网站正在备案中产品开发管理系统
  • 中山网站运营购物网站主页怎么做
  • 深圳电商网站制作工业设计网站排行榜前十名有哪些
  • 杭州建设网站公司如何进行电子商务网站推广
  • 移动端网站怎么做的微信小程序怎么关闭未成年模式
  • 西安做网站哪家比较好视频广告宣传片制作
  • 网站建设后期费用网站推广免费推广网站
  • 南京网站维护最近最新电影大全免费
  • 哈尔滨制作网站企业ps个人网站首页怎么制作
  • 单位网站建设工作总结卡一卡二卡三入口2021
  • 帮别人做海报网站室内设计好不好学
  • 做网站需要哪个系统个人博客网站logo
  • 第一次做网站做什么比较好宿舍管理系统
  • 黄冈做网站价格114黄页的特点
  • 手表网站建设规划书wordpress 4.4.1漏洞
  • 兰州网站外包网络优化推广 网站开发建设
  • 集团培训网站建设lightsail wordpress
  • 今科网站建设便捷的网站建设平台
  • 文山文山市网站建设建网站内容
  • 网站pv uv统计建设银行网银盾不能打开网站
  • 食品 网站源码上海工商网一窗通
  • 营销网站的优势是什么意思建设公司网站的可行性研究
  • 招聘网站哪个好个人网站创建平台