自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 反射的基本用法

最近看Spring源码,突然发现有好多地方都用到了反射,特此来回顾一下: 先来创建userInfo基础类 public class UserInfo { private String userName; private Integer age; public String school; public UserInfo() { } private...

2019-08-29 14:08:20 74

原创 合成复用原则

合成复用原则是指尽量使用对象组合/聚合而不是继承关系达到软件复用的目的,可以是系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较小。 继承叫做白箱复用,相当与把所有的实现细节暴露给子类,对象组合/聚合称为黑箱复用,我们是无法获取到类以外的对象的实现细节,虽然我们要根据业务场景来写代码,但也要遵循OOP模型。下面我们已操作数据库为例。 public class DBConne...

2019-08-20 20:40:22 429

原创 里氏替换原则

里氏替换原则是指子类可以扩展父类的功能,但是不能改变父类的原有功能。 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。 子类可以添加自己特有的功能 当子类重载父类的方法时,方法的前置条件要比父类方法的输入参数更宽松 当子类的方法实现父类的方式时,方法的后置条件要比父类更严格或和父类一样 现在来描述一个经典的业务场景,用正方形、矩形和四边形的关系说明里氏替换原则, 我们都知道正方形是一...

2019-08-20 20:14:14 117

原创 迪米特原则

迪米特原则主要强调类与类之间的耦合度。 现在来设计一个权限系统,boss需要查看目前发布到线上的课程数。这时候,这时候boss要找TeamLeader去统计,TeamLeader再把结果告诉boss,接下来我们来看具体例子: public class cource {} public class TeamLeader { public void checkNumberOfCource(Li...

2019-08-19 21:24:53 317

原创 单一职责原则

单一职责是指一个类或者方法出现两种以上职责,一旦需求的变更,这时候要修改一项职责,有可能就会影响到另一个职责。 解决办法: 将两个职责用两个类来实现,进行解耦。 发现: 既然单一职责原则规定我们尽量不要把不同的职责写在同一个方法内,但是java又提供重载这一机制。 public class ICompany { public void create(String branch){ ...

2019-08-19 20:54:41 126

原创 接口隔离原则

接口隔离原则是指用多个专门的接口,而不使用单一总接口,客户端不应该依赖它不需要的接口,这个原则指导我们在设计一个接口的时候要注意以下几点: 一个类对另一个类依赖应该建立在最小的接口之上。 建立单一接口, 不要建立庞大臃肿的接口 尽量细化每个接口,接口中的方法尽量少(不是越少越好,而是要适度) 接口隔离原则完全符合高内聚、低耦合的思想,可以是其拥有更好的扩展性、可读性和可维护性,下面已anima...

2019-08-19 20:54:00 150

原创 依赖倒置原则

依赖倒置原则是指高层(调用层)模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节,细节可以依赖抽象。通过依赖倒置,可以减少类之间的耦合,提高系统的稳定行,提高代码的可读性和可维护性。并且能降低修改程序带来的风险,接下来看一个案例,还是已book为例,先来创建一个XiaoMing类: public class XiaoMing { public void LookXHBook(...

2019-08-18 23:38:19 79

原创 开闭原则

什么时开闭原则? 开闭原则指的是一个实体,对修改关闭,对扩展开放。 核心 开闭原则的核心思想是面向抽象编程,下面看一段代码 public interface ICar { Integer getId(); String getName(); Double getPrice(); } ...

2019-08-18 22:22:46 228

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除