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

网站开发kpi专业上海网站建设

网站开发kpi,专业上海网站建设,wordpress大学 永久链接,网页游戏大全小游戏本文是阅读《设计模式之美》的总结和心得,跳过了书中对面试和工作用处不大或不多的知识点,总结总共分为三章,分别是面对对象编程范式、设计原则和设计模式 现如今,编程范式存在三种,它们分别是面向对象编程、面向过程编…

本文是阅读《设计模式之美》的总结和心得,跳过了书中对面试和工作用处不大或不多的知识点,总结总共分为三章,分别是面对对象编程范式、设计原则和设计模式

现如今,编程范式存在三种,它们分别是面向对象编程、面向过程编程和函数式编程。其中面向对象编程是目前最流行的,因为随着互联网技术的不断发展,应用程序的体量越来越大,代码行数越来越多,面对对象编程范式拥有的封装、抽象、继承和多态特性在面对大型系统的时候,可以让程序员更容易设计和组织出高内聚、低耦合、易扩展和已读的代码。

四大特性

封装

封装也称为信息隐藏或数据访问保护。在 Java 类中会存在成员变量,利用 Java 语言提供的访问修饰符 private 可以限定只能本类可以访问,其他类对封装在该类中的变量一无所知。
然后我们通过提供 public 访问修饰符修饰的方法供其他类访问,在定义 public 类型的方法时我们要注意不能给所有的成员变量创建 getter setter 方法,这样就相当于将变量以 public 来修饰了,我们应该只提供给外界需要的公共方法,尽量不要让外界直接访问类的成员变量。

抽象

抽象是隐藏方法的内部实现,让调用者只需要关心方法提供了什么功能,并不需要知道这个功能是如何实现的。
除了使用接口和抽象类来实现抽象特性之外,还可以用 “函数” 这一语法机制实现。通过函数包裹具体的实现逻辑,这本身就是一种抽象。大多数编程语言都提供了 “函数” 这一基础的语法机制。因此,抽象没有很强的 “特异性”,因此在很多图书中介绍面向对象编程的时候只介绍封装、继承、多态三种特性。

继承

继承分为单继承和多继承,Java 语言认为多继承会增加代码的复杂性,所以只提供了单继承的语法机制。同时在设计原则中有一条 “多用组合,少用继承”,也说明过度使用继承会导致代码的可读性和可维护性变差。
继承用来表示类之间的 is-a 关系,如猫是一种哺乳动物,子类继承父类,子类可以拥有父类中 public 和 protected 修饰的变量和方法,子类无需重复定义公共的方法,由此可知,继承的主要作用是代码复用。

多态

多态是指,在代码运行过程中,我们可以用子类替换父类,并调用子类的方法。多态可以通过继承来实现,也可以通过接口来实现。
如果一个接口 A,它的实现类有 B、C、D,现在需要定义一个 print 方法来打印它们,如果没有多态,那么我们要实现三个方法,分别是 print(B b),print(C c),print(D d);而如果使用多态我们就只需要定义一个方法 print(A a)。由此可见,多态和继承一样,它的出现也提高了代码的复用性。
同时,多态也是很多设计模式、设计原则的代码实现基础,如策略模式、基于接口而非实现编程、依赖倒置。

“贫血”模型和“充血”模型

很多业务系统是基于 MVC 三层架构开发的。实际上,更确切地讲,这是一种基于 “贫血” 模型的 MVC 三层架构开发模式。虽然这种开发模式已经称为标准的 Web 项目的开发模式,但它违反了面向对象编程风格,是彻彻底底的面向过程编程风格。基于领域驱动设计(Domian Drive Design,DDD)开发模式的 MVC 三层机构开发模式才称得上是面向对象编程风格。
在 MVC 三层架构中,三层分别是展示层 Controller、逻辑层 Service、数据层 Repository。业务逻辑的代码全部分布在 Service 层,整个代码的设计流程如下:
Repository(Entity)》Service(convert(Entity)=Bo)》Controller(convert(Bo)=Vo)

其中 Bo 是 Business Object,在这里,它只包含数据,不包含业务逻辑,这种数据和方法不在一个类中的编程风格就是面向过程编程风格。
与基于 DDD 开发模式的 MVC 三层架构相比,两者唯一的不同就是 “充血” 模型中的 Bo 既包含数据又包含业务逻辑方法。
可以这样理解,将基于 “贫血” 模型中 Service 层的业务逻辑代码抽取到 Bo 中就可以实现 “贫血” 到 “充血” 的转换。

http://www.yayakq.cn/news/830975/

相关文章:

  • wordpress 后台演示seo网站关键词优化快速官网
  • 智慧团建网站官网入口登录厦门数字引擎 怎么打不开网站
  • 网站开发技能有哪些高端网站建设的市场
  • dream网站怎么做框架电商线上推广
  • 云集网站哪个公司做的酒店类网站建设开发书
  • 公司网站是不是每天要更新北京网站建立公司
  • 深圳网站备案拍照点网络广告推广计划方案
  • 网站域名个人备案跟企业备案北京南站在几环
  • 如何在八戒网便宜做网站无锡 网站 seo 优化
  • 汨罗哪里有网站开发的公司电话海外网络连接
  • 现在做网站还用dw做模板了吗wordpress浏览次数插件
  • 南昌商城网站建设wordpress怎么解决后台编辑器卡顿
  • 需要品牌网站建设长沙好的网站建设公司哪家好
  • 湛江免费企业建站企业网络推广的简介
  • 资讯网站怎么做广告联盟接广告
  • 通栏式网站aaaa景区网站建设标准
  • 网站服务器管理系统建设银行永泰支行网站
  • 长沙开发网站的公司哪家好网站建设行业发展史
  • 佛山网站建设公司分享微信营销的五个技巧重庆大江建设工程集团有限公司
  • access做调查表网站怎样买网站建设
  • 足球世界排名国家2023网站seo
  • 建站网站关键词大全网页开发人员工具
  • 制作网站吗自己做网站发信息
  • 锦州网站建设公司四川建设银行官网招聘网站
  • 科技无国界wordpress sql优化
  • 太原做网站直通车网上书店网站前端搜索条怎么做
  • 好网站具备条件汕头建设银行协华支行
  • 潍坊网站开发招聘信息wordpress 导航站 模板
  • 咸阳学校网站建设费用网站怎么换主机
  • 做网站 赚钱百度seo怎么做网站内容优化