screwdriver

中高级面试常问:Java面向对象设计的六大原则

走远了吗. 提交于 2020-08-10 05:07:13
这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则。只有掌握了这些原则,我们才能更好的理解设计模式。我们接下来要介绍以下6个内容。 单一职责原则——SRP 开闭原则——OCP 里式替换原则——LSP 依赖倒置原则——DIP 接口隔离原则——ISP 迪米特原则——LOD 单一职责原则 单一职责原则的定义是就一个类而言,应该仅有一个引起他变化的原因。也就是说一个类应该只负责一件事情。 如果一个类负责了方法M1,方法M2两个不同的事情,当M1方法发生变化的时候,我们需要修改这个类的M1方法,但是这个时候就有可能导致M2方法不能工作。 这个不是我们期待的,但是由于这种设计却很有可能发生。所以这个时候,我们需要把M1方法,M2方法单独分离成两个类。让每个类只专心处理自己的方法。 单一职责原则的好处如下: 可以降低类的复杂度,一个类只负责一项职责,这样逻辑也简单很多 提高类的可读性,和系统的维护性,因为不会有其他奇怪的方法来干扰我们理解这个类的含义 当发生变化的时候,能将变化的影响降到最小,因为只会在这个类中做出修改。 开闭原则 开闭原则和单一职责原则一样,是非常基础而且一般是常识的原则。开闭原则的定义是软件中的对象(类,模块,函数等)应该对于扩展是开放的,但是对于修改是关闭的。 当需求发生改变的时候,我们需要对代码进行修改,这个时候我们应该尽量去扩展原来的代码,而不是去修改原来的代码

CDF与开源DevOps持续交付系统JenkinsX,Spinnaker,Tekton,Screwdriver

[亡魂溺海] 提交于 2020-05-08 14:03:08
什么是CDF 持续交付基金会(CDF)是许多快速增长的持续交付项目(包括Jenkins、Jenkins X、Spinnaker,Tekton和Screwdriver)的中立供应商。CDF通过开放模型、培训、行业指南和可移植性重点来支持DevOps从业者。 以下最佳实践被认为是一个成功的DevOps方法的关键: 松耦合架构 自助服务配置 自动配置 持续的构建/集成和交付 自动发布管理 增量测试 作为代码的基础结构配置 综合配置管理 基于主干的开发和特性标志 Jenkins X: https://jenkins-x.io/ 市场上已经有各种不同的GitOps解决方案,Jenkins X是一个开源项目,它使用Kubernetes实现基于云原生应用的持续集成。 Jenkins X提供了pipeline的自动化、内置的GitOps, 和快速自动生成的预览环境,以帮助团队协作并在任何规模上加速他们的软件交付。 Jenkins X管道和自动化CI/CD Jenkins X并不需要深入了解Jenkins X管道的内部机制,相反,Jenkins X将为您的项目默认一些非常棒的pipeline,这些pipeline将完全实现CI和CD。 通过GitOps进行环境更新 每个团队都可以独立的一组环境。然后,Jenkins X通过GitOps实现独立的环境管理和应用程序新版本升级的自动化。