Tag: Solid Principles

SOLID原则-第1部分

单一责任原则-SRP 因此,“四人帮”在20多年前为OOP设计模式奠定了第一个基础,尽管我认为这已经过时了,但在努力编写简洁的代码时仍然有用。 这个原则规定,一堂课只能做一份工作! 是的,这是单一责任的含义,无需加糖。 “一个类=执行一个操作”简单而愚蠢。 因此,假设我们有一个需要在服务器上 启用 / 禁用或打开 / 关闭 服务的要求,并且我们希望将此原理应用于核心。 我们可以从使用协议抽象表示开始,首先描述业务逻辑应该做什么,如下所示: 本系列文章使用Swift语言介绍了SOLID原理,并附有实际示例,下一部分继续: 第二部分OPEN / CLOSED原理 您还可以在github存储库上找到完整的游乐场 鲍勃·戈德温(@bobgodwinx)| 推特 Bob Godwin(@bobgodwinx)的最新推文。 移动团队首席工程师@dunnhumby Germany GmbH。 @Apple的粉丝… twitter.com

SOLID原则-第3部分

因此,Liskov替换原理指出,所有派生类都应可以替换为其原始基类。 实际上,这意味着子类对于它的超类应该始终是可互换的。 该原理的主要目的是保证类型层次结构内的语义互操作性。 假设我们需要描述具有飞行能力的车辆的速度 。 车辆是基础类,我们应该能够知道它的任何子类是否可以飞行。 因此,我们可以将飞机作为衍生自Vehicle的子类 。 为了清楚地说明我们的示例,我们还把Car作为派生自Vehicle的子类。 在应用程序中,您可以拥有不同种类的车辆,其中一些可以飞行,有些则不能。 但是我们今天的要求是获取速度描述。 因此,我们可以采用一种接收“ 车辆”类型的方法。 Liskov替代保证我们的speedDescription算法将保持运行,而不管它接收作为参数的S ubclass类型。 这个术语称为语义互操作性。 本系列文章涵盖了使用Swift语言的SOLID原理的实际示例,以前的路径是OPEN / CLOSE原理 。 对于完整的操场,您可以在github仓库中找到它。 希望我至少能够招待您,如果您有任何疑问,请不要犹豫。 推特: 鲍勃·戈德温(@bobgodwinx)| 推特 Bob Godwin(@bobgodwinx)的最新推文。 移动团队首席工程师@dunnhumby Germany GmbH。 @Apple的粉丝… twitter.com