首页 > 编程语言 > 面向对象编程的 SOLID 原则 - 接口隔离原则

面向对象编程的 SOLID 原则 - 接口隔离原则

时间:2023-07-29 16:55:20浏览次数:49  
标签:SOLID Car void 接口 接口隔离 面向对象编程 car Override public

接口隔离原则

隔离意味着保持独立,接口隔离原则是关于接口的独立。

该原则描述了很多客户端特定的接口优于一个多用途接口。客户端不应该强制实现他们不需要的函数。

这是一个简单的原则,很好理解和实践,直接看例子。


public interface ParkingLot {

	void parkCar();	// Decrease empty spot count by 1
	void unparkCar(); // Increase empty spots by 1
	void getCapacity();	// Returns car capacity
	double calculateFee(Car car); // Returns the price based on number of hours
	void doPayment(Car car);
}

class Car {

}

我们定义了一个非常简单的停车场。这是按小时付费的停车场,不考虑免费的情况。


public class FreeParking implements ParkingLot {

	@Override
	public void parkCar() {
		
	}

	@Override
	public void unparkCar() {

	}

	@Override
	public void getCapacity() {

	}

	@Override
	public double calculateFee(Car car) {
		return 0;
	}

	@Override
	public void doPayment(Car car) {
		throw new Exception("Parking lot is free");
	}
}

停车场接口组合了两个事情:停车相关逻辑(停车、取车、获取车位信息)以及支付相关逻辑。

但是这太具体了。即使是 FreeParking class 也要必须实现不相关的支付相关的方法。让我们隔离接口。

 

现在停车场更干净了。有了新的 model,可以更进一步把 PaidParkingLot 分割一下以支持更多的支付类型。

现在我们的 model 更灵活、可扩展,客户端无需实现任何不相关的逻辑,因为只在停车场接口实现了停车相关的函数。

标签:SOLID,Car,void,接口,接口隔离,面向对象编程,car,Override,public
From: https://www.cnblogs.com/gongxianjin/p/17590080.html

相关文章

  • 面向对象编程的 SOLID 原则
    SOLID原则是面向对象class设计的五条原则。他们是设计class结构时应该遵守的准则和最佳实践。通常,这五个原则可以帮助我们了解设计模式和软件架构。这是每个开发人员都应该了解的主题。这篇文章介绍了在项目中使用SOLID原则的细节。首先我们先看一下SOLID原则的历史。......
  • Python面向对象编程-学习笔记(二)
    5.类的继承classEmployee:raise_amount=1.04def__init__(self,first,last,pay):self.first=firstself.last=lastself.pay=payself.email=first+'.'+last+'@company.com'cla......
  • 面向对象编程的 SOLID 原则 - 开闭原则
    开闭原则开闭原则要求“class应该对扩展开放对修改关闭”。修改意味着修改存在class的代码,扩展意味着添加新的功能。这个原则想要表达的是:我们应该能在不动class已经存在代码的前提下添加新的功能。这是因为当我们修改存在的代码时,我们就面临着创建潜在bug的风险。因此,......
  • 定制化SOLIDWORKS插件开发服务流程解析
    SOLIDWORKS是一套三维设计软件,采用特征建模、变量化驱动可方便地实现三维建模、装配和生成工程图。SOLIDWORKS软件本身所具有的交互方式,可以使用户对已生成模型的尺寸、几何轮廓和相互约束关系随时进行修改,而不需要编程。SOLIDWORKS软件本身的方程式可以实现简单的参数逻辑变......
  • terrasolid是什么?和microstation v8i的关系?
    Terrasolid这款软件需要在MicroStationV8i这个软件的运行环境下才能使用。参考:https://www.cnblogs.com/yibeimingyue/p/15589355.html参考2:https://wenku.baidu.com/view/4f5aa22e660e52ea551810a6f524ccbff121ca1b.html参考3:https://download.csdn.net/download/hhudxy2010/......
  • solidworks api ch04
    用默认模板新建零件,并修改用户偏爱:letnewPart(swApp:ISldWorks)=//GetthefilepathofthedefaultparttemplateletpartTemplate=swApp.GetUserPreferenceStringValue(intswUserPreferenceStringValue_e.swDefaultTemplatePart)letswModel=......
  • SOLIDWORKS PDM中如何快速生成BOM,SolidKits助您一臂之力
    在SOLIDWORKSPDM中,生成BOM操作是比较简单的,但前提条件是我们的模型必须具有相应的属性信息才可以。SolidKits.Reports企业高级报表软件给用户提供了一种更加便捷的出BOM的方式,使我们的工作效率更高,其使用方法也非常简单,我们一起来看下操作步骤吧!首先找到需要生成BOM的总成文件,然......
  • 面向对象编程
    面向对象编程初识面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么...面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考.最后,才对某个分类下的细节进行面向过程的思......
  • terrasolid自定义点云读取格式
    步骤如下:  ......
  • 面向对象编程(Object-Oriented Programming,OOP)
    面向对象编程(Object-OrientedProgramming,OOP)是一种编程思维方式和编码架构,是一种 对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。什么是对象:对象是客观存在的事物,可以说任何客观存在的都是可以成为对象,一台电脑,一直钢笔,一个人,一辆轿车等等,都可......