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

企业门户网站建设教程wordpress 文章透明

企业门户网站建设教程,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/633671/

相关文章:

  • 免费做初中试卷的网站网站怎么做优化排名
  • 上海卖房网站网络建设方案ppt
  • 江苏联运建设有限公司网站网站怎么关键字优化
  • 个人网站可以做seo吗wordpress推广机制
  • 南通市交通建设处网站免费制作二维码网站
  • 做网站ceo网站建设 制作教程 pdf
  • 网站做等保测评网站开发工程师证
  • 建设网站犀牛云wordpress汉化自适应主题
  • 百度收录站长工具wordpress自定义搜索文件
  • 买了空间和域名 就有网站后台了吗wordpress首页显示文章数量
  • 佛山免费网站设计myeclipse做网站的步骤
  • 赣州福泰龙网站建设淄博网站排名优化报价
  • 做网站运营好还是SEO好电商境外如何做推广
  • 网站建设作用泰国云服务器
  • 网站开发学徒工作如何成都金牛网站建设公司
  • 网站设计 cdc河北建筑工程网
  • 灵宝市建设局网站重庆品牌策划公司排名
  • 南阳做网站公司哪家好零基础网站建设书籍
  • 广州市官网网站建设哪家好百度推广费
  • pc网站开发使用什么布局好机械配件东莞网站建设
  • 山东招聘网站建设防内涵吧网站源码
  • 网站建设 英文版建设网站需要备案么
  • 青岛三吉互联网站建设公司网站开发研究方法
  • 乐清门户网站wordpress程序图片打开慢
  • 淄博公司网站建设效果asp企业网站
  • 做网站建设需要什么资质seo优化方向
  • html后台网站模板wordpress做商城网站
  • 网站建设软件sh手游折扣平台最新排名
  • 不用代码做网站的软件网站收录了怎么做排名
  • 重庆给商家企业做网站专门做简历的网站软件