面向对象分析和设计
以面向对象角度分析和设计代码,提供代码的扩展性、健壮性、可读性
codingstyle
Jump for the sun , at least you land on the moon.
展开
-
迪米特法则-最少知识原则
迪米特法则帮助我们在面向对象编程时更好的应用抽象的规则,确保我们开发的应用可扩展和可维护。原创 2020-09-27 17:27:33 · 440 阅读 · 0 评论 -
你在用面向对象语言Java写C风格的代码吗?
在开始之前,先来讲个小故事在一次代码评审中,小李兴致勃勃地给大家讲解自己用心编写的一段代码。这段代码不仅实现了业务功能,还考虑了许多异常场景。所以,面对同事们提出的各种问题,小李能够应对自如。在讲解的过程中,小李看到同事们纷纷点头赞许,心中不由得生出一丝骄傲:我终于写出一段拿得出手的代码了!讲解完毕,久久未曾发言的技术负责人老赵站了起来:“小李啊!你这段代码从功能上来说,考虑得已经很全面了,这段时间你确实进步很大啊!”要知道,老赵的功力之深是全公司人所共知的。能得到老赵的肯定,对小李来说,那简直是莫大原创 2020-09-17 10:31:05 · 324 阅读 · 0 评论 -
SOLID原则-依赖倒置原则
简介前面我们已经介绍了SRP ,单一职责原则OCP,开闭原则LSP,里式替换原则ISP,接口隔离原则今天来详解依赖倒置原则。作为一个Java程序员,你可能听说过代码耦合以及被告知应避免代码紧耦合。不关注如何写出好代码是代码紧耦合的主要原因。例如,用 new 关键字在一个类中创建另一个类的对象会造成两个类的紧耦合,这样的耦合看上去无害且没有使较小的程序混乱,但是,当你在企业应用开发时,紧耦合的代码可以导致严重不利的后果。当一个类确切的知道另一个类的设计和实现逻辑时,一个类的变化会引起另外一原创 2020-08-09 20:54:57 · 573 阅读 · 0 评论 -
SOLID原则-接口隔离原则
简介前面我们已经介绍了SRP ,单一职责原则OCP,开闭原则LSP,里式替换原则今天来讲解接口隔离原则。接口是Java 编程语言的核心功能之一,在企业应用开发中被广泛应用来抽象业务和多接口的实现能力。从写代码的角度,写一个接口是简单的,你可以用 interface 关键字创建一个接口并在接口里声明一些方法,其他的类可以通过 implements 关键字来实现接口定义的方法。作为一个 java 使用者,你肯定写过很多接口,但是有没有想过这样一个问题:之前写的接口是否是合理的,有没有好的设计原则原创 2020-08-06 15:32:37 · 504 阅读 · 0 评论 -
SOLID原则-里式替换原则
使用面向对象的语言编写业务时,为了提高代码的复用度,会经常继承现有的类,继承也是面向对象语言的三大特性之一,其他两个是封装和多态。那有没有办法判断继承实现的合理性呢?有的,使用里式替换原则来判断继承的合理性。如何理解里式替换原则2008年,图灵奖授予 Barbara Liskov,表彰她在程序语言设计和系统设计方法方面的卓越工作。她在设计领域影响最深的就是以她的名字命名的 Liskov 替换原则(Liskov substitution principle,简称 LSP)。她是这么描述这条规则的:If原创 2020-08-05 17:16:47 · 248 阅读 · 0 评论 -
SOLID原则-开闭原则
开闭原则定义Robert C. Martin 认为这个原则是面向对象设计中最重要的一个原则,但他不是第一个定义这个原则的人,Bertrand Meyer 在1988年写的一本书《Object-Oriented Software Construction》,其中解释了开闭原则:软件实体(类,模块,方法等)应该对扩展开放,对修改关闭。这个原则的主要思想是很棒的,它告诉我们写代码时,当添加新功能时不应该修改现有的代码,这样阻止了我们修改一处代码所依赖它的代码都要修改。但是有点可惜的是,Bertrand May原创 2020-08-04 10:06:59 · 396 阅读 · 0 评论 -
SOLID原则-单一职责原则
简介本文我们将讨论面向对象编程中著名的 SOLID 原则之一的单一职责原则。我们将深入讲解什么是单一职责原则和在设计代码时如何实现它,最后将如何避免滥用此设计规则。单一职责的英文表达为 Single Responsibility Principle ,简称 SRP。单一职责原则详解就像它的名字的字面意思一样,这个原则表示每个类应该只有一个职责,也就是只有一个目的,一个类只做一样工作,以此可以推断出这个类只有一个原因被修改。我们不想让对象知道的太多以及承担与自己无关的职责,否则,这些类很难维护,例如,一原创 2020-07-30 19:23:25 · 632 阅读 · 0 评论