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

常用的博客建站程序51电子网

常用的博客建站程序,51电子网,创意字体在线生成免费,惠州做网络推广的公司说明#xff1a;设计模式#xff08;Design Pattern#xff09;对于软件开发#xff0c;简单来说#xff0c;就是软件开发的套路#xff0c;固定模板。在学习设计模式之前#xff0c;需要首先学习UML#xff08;Unified Modeling Language#xff0c;统一建模语言设计模式Design Pattern对于软件开发简单来说就是软件开发的套路固定模板。在学习设计模式之前需要首先学习UMLUnified Modeling Language统一建模语言和面向对象设计的七大原则。 UML 设计模式在代码开发之前先需要使用设计图的方式表现出来UML是生产设计图的语言也就是模型语言。UML的结构有视图View、图Diagram、模型元素Model Element、通用机制General Mechanism这里不做过深的介绍只介绍类图和类之间的关系。 类图Class Diagram 结构 一般来说一个类由三个部分组成类名、属性和方法。如下这个类图 类名Teacher属性nameString、ageint默认值是0、genderString方法setAge(int age)、getName() 其中属性和方法前面的符号分别表示可见性公有public、私有private、受保护protected分别用“”、“-”、“#”来表示在Java中还有一种包内可见性package使用“*”来表示。 对于属性在属性类型后面加 “ xx”表示此属性设置默认值为“xx”表示方式如下 可见性 名称类型 [ 默认值]对于方法表示方式如下 可见性 名称[参数列表][返回类型]以上方括号中的部分表示可有可无 如果该类是一个接口类图表示如下 其他内容不变类名上面加两个尖括号包裹的interface也有在类名左上角使用一个类似圆形取卡针标志来表示的如下 类之间关系 类与类之间的关系分为以下几种 关联关系 关联指类与类之间存在联系可分为双向关联、单向关联、自关联、多重性关联、聚合和组合如下 如下表示一个按钮Button只能属于一个表单Form是一对一的关系而一个表单可以有0个或多个按钮 常见的多重性关系有1…1一对一、0…* 0对多 、1…*1对多、0…10对一、m…n多对多 例如汽车Car与发动机Engine发动机是汽车的组成部分可以独立于汽车存在并不依赖于汽车 例如头Head与眼睛Eye眼睛是头的组成部分但是眼睛不能单独出来头没有了眼睛也就没有了 依赖关系 例如驾驶员Driver与车Car的关系驾驶员依赖于车没有车就无法使用驾驶方法 泛化关系 泛化关系就是继承关系如下学生类Student和教师类Teacher继承于人类Person 实现关系 实现关系顾名思义如下船Ship与车Car实现于交通工具接口Vehicle并实现其移动方法move 其他 实际上UML的图远不止这些还有用例图Use Case Diagram、对象图Object Diagram、包图Package Diagram等加上类图共13个但是类图用的最多。 在我手边的《设计模式》第二版清华大学出版社第5页刘伟主编中作者引用了Martin Fowler著作中的一段话“If someone were to come up to you in a dark alley and say, ‘Psst, wanna see a UML diagram?’ that diagram would probably be a class diagram.The majority of UML diagrams Isee are class diagrams.”“如果有人在黑暗的小巷中向你走来并对你说嘿想不想看一张UML图那么这张图很有可能就是一张类图我所见过的大部分的UML图都是类图” 面向对象设计原则 面相对象设计原则指在程序设计时遵循的规范有以下七个 单一职责原则Single Responsibility PrincipleSRP 单一职责原则定义一个对象应该只包含单一的职责并且该职责被完整地封装在一个类中。 简单来说就是一个类应该只干一件事。例如在没有三层架构前一个请求从接收、分析、处理都在一个类里完成无论这个请求的哪一个环节发生了改变都需要修改代码可维护性差代码耦合高。 开闭原则Open-Closed PrincipleOCP 开闭原则定义一个软件实体应当对扩展开发对修改关闭。 就是说后面如果需要新增需求可以在不修改源码的基础上对系统扩展。举个例子一个管理系统的界面有许多的记录许多筛选项最开始记录的字段少筛选项也少后面字段越来越多需要新增一些筛选条件。 不符合开闭原则的做法对DTO对象不断地新增筛选项name姓名、age年龄、createTime创建时间…… 符合开闭原则的做法在DTO对象里定义一个Map对象conditions用于接收前端传递的条件参数。这样无论后面新增多少个筛选条件实体类都不需要修改只需要在Mapper.xml里面新增筛选字段conditions.字段名的查询条件即可 private MapString, String conditions;里氏代换原则Liskov Substitution PrincipleLSP 里氏代换原则可以通俗表述为在软件中如果能够使用基类父类对象的地方那么一定能够使用其子类对象。 依赖倒转原则Dependency Inversion PrincipleDIP 依赖倒转原则定义高层模块不应该依赖底层模块他们都应该依赖抽象。抽象不应该依赖细节细节应该依赖于抽象。 接口隔离原则Interface Segregation PrincipleISP 接口隔离原则定义客户端不应该依赖那些它不需要的接口。 就是说对于接口应该尽可能细化而不是把一堆接口放到到一个大接口里面。如接口A表示飞行接口B表示跳跃接口C表示鸣叫虽然这三个特性麻雀完全符合但是不能把这三个接口合并到一个接口D中然后让麻雀来实现而是应该隔离开让具备某种能力的类实现指定的接口。 合成复用原则Composite Reuse PrincipleCRP 合成复用原则定义尽量使用对象组合而不是继承来达到复用的目的。 简单来说就是类之间的关系少用继承尽量使用接口实现或者依赖注入的方式。例如有一个面试题如何解决ArrayList线程不安全的问题我所知道的有以下5个方法 1使用CopyOnWriteArrayList() 2使用Collections.synchronizedList() 3定义一个类MyArrayList继承ArrayList重写其方法每个方法用synchronized修饰 4定义一个类MyArrayList类里面定义一个ArrayList自定义List的增删改查方法用synchronized修饰方法里面调用ArrayList对应的方法 5使用Vector 重点是第三个、第四个方法的对比前者是继承需要重写父类的方法后者是设值注入调用ArrayList的方法显然后者更加灵活。 迪米特法则Law of DemeterLoD 迪米特法则又称最少知识原则原则简单来说就是指一个软件实体应当尽可能少地与其他实体发生相互作用。这样当一个模块修改时就会尽量少地影响其他的模块。 总结 本篇文章内容基本来自《设计模式》第2版清华大学出版社刘伟主编第1、2章
http://www.pierceye.com/news/399830/

相关文章:

  • 河津网站制作wampserver做的网站
  • 洛阳专业网站设计开发制作建站公司零陵区住房和城乡建设局网站
  • 在哪里可以学做网站游戏开发大亨下载
  • 找人做ps的网站无锡 做公司网站
  • 云速建站可以建个人网站吗wordpress仿站难吗
  • 如何取外贸网站域名凡科h5制作教程
  • 蜘蛛不抓取网站的原因中山h5网站建设
  • 百度免费推广网站建网站用的免费软件
  • 网站建设西安哪里好广州做企业网站的公司
  • 汉中市网站建设爱墙 网站怎么做
  • 失物招领网站开发项目需求分析搭建外文网站
  • 免费网站空间免备案自学php做网站
  • 南宁网站建设nnit30郴州市第一职业中专
  • 想开个影视网站 那有做的莱芜信息平台
  • js做网站登录有服务器了怎么做网站
  • 郑州餐饮网站建设哪家好零基础网站建设教学在哪里
  • 讲述做网站的电影建设工程公司名字大全
  • 易语言可以做网站管理系统吗网站备案查询工信部手机版
  • 珠海建站论坛淘宝客网站做一种还是做好几种
  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司
  • 网站服务器租用一年多少钱啊seo优化检测
  • 北京网站建设联系电话长春市网络科技有限公司
  • 软件下载网站免费大全济宁医院网站建设
  • 龙岩到永定株洲网站推广优化