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

企业网站的搭建流程网站开发发送短信

企业网站的搭建流程,网站开发发送短信,fview网站开发,建设网站要多久设计模式遵循原则 开闭原则#xff1a;对扩展开放#xff0c;对修改关闭里氏代换原则#xff1a;只有当衍生类可以替换掉基类#xff0c;软件单位的功能不受到影响时#xff0c;基类才能真正被覆用。而衍生类也能够在基类的基础上增加新的行为依赖倒转原则#xff1a;开闭…设计模式遵循原则 开闭原则对扩展开放对修改关闭里氏代换原则只有当衍生类可以替换掉基类软件单位的功能不受到影响时基类才能真正被覆用。而衍生类也能够在基类的基础上增加新的行为依赖倒转原则开闭原则的基础对接口编程依赖于抽象而不依赖于具体接口隔离原则使用多个隔离的接口来降低耦合度迪米特法原则最少知道原则。一个实体应该尽量少的与其他实体之间发生相互作用使得系统功能模块相对独立合成复用原则尽量使用合成/聚合的方式而不是使用继承。继承实际上破环了类的封装性超类的方法可能会被子类修改。工厂模式 简单工厂模式 简单工厂模式当中一个工厂负责生产所有的产品。如上图所示无论是戴尔鼠标还是惠普鼠标都在一家鼠标工厂中生产。工厂通过用户的需要生产不同的鼠标即用户传入生产鼠标的参数工厂返回生产出的鼠标实体。 具体实现如下 //鼠标基类 class Mouse{public void sayHi(){}; } //鼠标扩展类 class DellMouse extends Mouse{Overridepublic void sayHi() {System.out.println(产品戴尔鼠标);} } class HpMouse extends Mouse{Overridepublic void sayHi() {System.out.println(产品惠普鼠标);} } //鼠标工厂 class MouseFactory{//生产鼠标的方法所有的鼠标都通过该方法生成public static Mouse createMouse(int i) {switch (i) {case 0: return new DellMouse();case 1: return new HpMouse();default: return null;}} } public class NormFactory {public static void main(String[] args) {Mouse hpm MouseFactory.createMouse(1);Mouse dellm MouseFactory.createMouse(0);hpm.sayHi();dellm.sayHi();} } 打印结果如下 产品惠普鼠标 产品戴尔鼠标 上述模式下所有的鼠标都在同一个MouseFactory工厂下生产有一个统一的create静态方法。在使用工厂时不需要对工厂进行实例化只需要调用该静态方法便可得到相应的产品。 但如果用户需要添加新一类的产品例如有一项华硕鼠标工厂要生产该产品则需要改create函数这有悖于设计原则的开闭原则。 工厂模式 在该模式下不同品牌的产品交由不同的工厂来生产有一个统一的工厂接口生产该产品的工厂都要实现该接口。 生产哪种产品不再由参数决定而是在创建工厂时让工厂来决定例如惠普的工厂只会生产惠普的鼠标而戴尔的工厂只会生产戴尔的鼠标。 具体实现如下 class Mouse{public void sayHi(){}; }class DellMouse extends Mouse{Overridepublic void sayHi() {System.out.println(产品戴尔鼠标);} } class HpMouse extends Mouse{Overridepublic void sayHi() {System.out.println(产品惠普鼠标);} } //生产工厂接口 interface MouseFactory{public Mouse createMouse(); } //不同的鼠标交由不同的工厂生产 class HpMouseFactory implements MouseFactory{Overridepublic Mouse createMouse() {return new HpMouse();} } class DellMouseFactory implements MouseFactory{Overridepublic Mouse createMouse() {return new DellMouse();} } public class NormFactory {public static void main(String[] args) {MouseFactory hpFact new HpMouseFactory();MouseFactory dellFact new DellMouseFactory();Mouse hpm hpFact.createMouse();Mouse dellm dellFact.createMouse();hpm.sayHi();dellm.sayHi();} } 打印结果如下 产品惠普鼠标 产品戴尔鼠标 该模式下代码的可扩展性大大提高当需要添加一种商品时只需要添加生产该商品的工厂并让其实现生产工厂接口即可。 但在该模式下商品的生产变得更为复杂我们要得到一件商品必须先得到一座生产该商品的工厂再调用该工厂的生产方法才能得到该商品。 抽象工厂模式 、 该模式下的工厂生产的产品不唯一同一品牌的工厂有着各种不同的产品相当于是工厂模式的一个加强版。 具体实现如下 class Mouse{public void sayHi(){}; }class DellMouse extends Mouse {Overridepublic void sayHi() {System.out.println(产品戴尔鼠标);} } class HpMouse extends Mouse {Overridepublic void sayHi() {System.out.println(产品惠普鼠标);} }class KeyBoard {public void kick(){}; } class HpKeyBoard extends KeyBoard {Overridepublic void kick() {System.out.println(产品惠普键盘);} } class DellKeyBoard extends KeyBoard {Overridepublic void kick() {System.out.println(产品戴尔键盘);} } //总的工厂接口 interface PcFactory {public Mouse createMouse() ;public KeyBoard createKeyBoard() ; } class HpFactory implements PcFactory {Overridepublic Mouse createMouse() {return new HpMouse();}Overridepublic KeyBoard createKeyBoard() {return new HpKeyBoard();} } class DellFactory implements PcFactory {Overridepublic Mouse createMouse() {return new DellMouse();}Overridepublic KeyBoard createKeyBoard() {return new DellKeyBoard();} }//当需要增加一个华硕工厂时 class AsusMouse extends Mouse {Overridepublic void sayHi() {System.out.println(产品华硕鼠标);} } class AsusKeyBoard extends KeyBoard {Overridepublic void kick() {System.out.println(产品华硕键盘);} } class AsusFactory implements PcFactory {Overridepublic Mouse createMouse() {return new AsusMouse();}Overridepublic KeyBoard createKeyBoard() {return new AsusKeyBoard();} }public class NormFactory {public static void main(String[] args) {PcFactory hpFact new HpFactory();Mouse hpm hpFact.createMouse();KeyBoard hpkbd hpFact.createKeyBoard();PcFactory dellFact new DellFactory();Mouse dellm dellFact.createMouse();KeyBoard dellkbd dellFact.createKeyBoard();hpm.sayHi();dellm.sayHi();hpkbd.kick();dellkbd.kick();} } 打印结果如下 产品惠普鼠标 产品戴尔鼠标 产品惠普键盘 产品戴尔键盘 但该模式如果要添加产品时需要修改PcFactory、DellFactory、HpFactory等所有实现了PcFactroy接口的工厂类这是十分不好的。转载于:https://www.cnblogs.com/JuanF/p/9275833.html
http://www.pierceye.com/news/974973/

相关文章:

  • 给客户做网站 赚钱吗赣州省住房和城乡建设厅网站
  • 营销优化型网站怎么做手机app网页制作
  • 上海网站建设服wordpress友情链接排序
  • 沈阳市和平区网站建设编程课适合多大孩子学
  • 东阳网站优化懒人图库
  • 马关县网站建设专注营销型网站建设
  • 微信公众号公众平台太原seo关键词优化
  • 沈阳网站建设方案二级网站怎样被百度收录
  • 厦门数字引擎 怎么打不开网站youku网站开发技术
  • 中小企业网站建设论文郑州网站服务公司
  • 工信部网站备案验证码文化传媒网站封面
  • 境外做网站网站百度代运营
  • 南京学校网站建设策划手机网站默认全屏
  • 东莞公司网站策划万网买网站
  • 建筑网站视频大全做外汇网站卖判刑多少年
  • 手机网站菜单网页怎么做东莞网站优化方案
  • 公众号免费素材网站wordpress无法开始安装
  • 建设银行互联网网站首页网站备案 视频
  • 免费优化网站建设做app和网站哪个比较好用
  • 韩国最牛的设计网站大全网站设计的尺寸
  • 一家专门做特卖的网站类似非小号的网站怎么做
  • 怎么建一个网站出口外贸交易平台
  • iapp用网站做软件代码徐州网络推广公司排名
  • 设计之路 网站wordpress自定义字段火车头
  • 用什么服务器做盗版小说网站吗邓州十九张麻将微信群app开发公司
  • 高端网站设计找哪个公司WordPress 移动文件夹
  • 做网站的资料新媒体网站建设十大的经典成功案例
  • 西安移动网站建设丹东做网站的
  • 石家庄网站建设优化建湖做网站哪家最好
  • 外贸电商做俄罗斯市场网站电子商务网站建设的步骤一般为(