OCP

[译]开发者须知的SOLID原则

允我心安 提交于 2020-12-13 10:28:04
原文: SOLID Principles every Developer Should Know – Bits and Pieces SOLID Principles every devloper should know 面向对象为软件开发带来了新的设计方式,它使得开发者可以将具有相同目的或功能的数据结组合到一个类中来完成单一的目的,不需要考虑整个应用。 但是,面向对象编程没有减少混乱和不可维护的程序。正是这样,Robert C. Martin发展出了5条指南/准则,让开发者可以易于创建可读且易于维护的程序。 这5条准则就是S.O.L.I.D原则(缩写是Michael Feathers推演出来的) S: Single Responsibilty Principle 单一功能原则 O: Open-Closed Principle 开闭原则 L: Liskov Substitution Principle 里氏替换 I: Interface Segregation Principle 接口分离 D: Dependency Inversion Principle 依赖反转 接下来我们详细讨论上述原则。 注意: 本文的大部分例子可能不能满足或者适用现实世界的应用程序。要视你自己的实际设计和使用场景来定。最 重要 的是理解和掌握如何运用或遵循这些原则。 建议:使用 Bit

20172304 实验二 《Java面向对象程序设计》 实验报告

三世轮回 提交于 2020-12-13 04:15:21
#20172304 实验二 《Java面向对象程序设计》 实验报告 课程名称:《程序设计与数据结构》 学生班级:1723班 学生姓名:段志轩 学生学号:20172304 实验时间:2018年4月18日 实验名称:《Java面向对象程序设计》 指导老师:王志强老师 ## 代码链接 ##实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装、继承、多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 完成蓝墨云上 (1)-(5)实验。 ##实验要求 完成实验二《Java面向对象程序设计》中的内容。 其中Eclipse相关的内容参考Intellj IDEA 简易教程换成IDEA实现。 ##实验考核规则 每次实验考核3分 不按要求提交实验过程截图会扣一分(本周五次,只要有一个不合格就会扣分) 实验报告认真写的会加1分(主要是遇到的问题和解决过程) ##实验流程 软件准备: IEDA starUML 实验内容: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装、继承、多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 ##实验具体内容 实验一:创建Myunit类,并对Myunit类进行测试实现边界检查。 实验二:学习StringBuffer类并进行测试。、 实验三:让系统支持long型,并添加测试代码。 实验四:设计Complex类(复数类)

Mysql 8.0 OCP认证考试原题题库整理-第6题(CUUG内部资料)

别来无恙 提交于 2020-12-11 08:45:33
Choose the best answer. You are having performance issues with MySQL instances. Those servers are monitored with MySQL Enterprise Monitor. Using Query Analyzer, where do you begin to look for problem queries? A) Sort the "Exec" column and check for SQL queries with low Query Response Time index (QRTi) values. B) Look for queries with low total latency times in the Latency section in the times series graph. C) Sort the "Exec" column and check for SQL queries with high Query Response Time index (QRTi) values. D) Look for queries with big prolonged spikes in row activity/access graph in the times

敏捷软件开发——第七章 什么是敏捷设计

早过忘川 提交于 2020-12-06 02:26:30
第7章 什么是敏捷设计   可以使用许多不同的媒介描述设计,但是设计最终体现为源代码。从根本上讲,源代码就是设计。 7.1 设计臭味   如果幸运,你会在项目开始时就想到了系统的清晰图像。系统设计是存在你脑中的一幅至关重要的图像。如果幸运一点,在首次发布时,设计依然保持清楚。   接着,事情开始变糟。软件像一片坏面包一样开始腐化。随着时间流逝,腐化蔓延、增长。丑陋腐烂的痛处和疖子在代码中积累,使它变得越来越难以维护。最后,仅仅进行最简单的更改,也需要花费巨大的努力,以至于开发人员和一线管理人员强烈要求重新设计。   这样的重新设计很少会成功。虽然设计人员开始时的意图是好的,但是他们发现自己正朝一个移动目标设计。老系统不断发展变化,而新的设计必须跟得上这些变化。这样,甚至在第一次发布前,新的设计中就积累了很多瑕疵和弊病。    7.1.1 设计臭味——腐化软件的气味   当软件出现下面任何一种气味时,就表明软件正在腐化。 僵化性 脆弱性 顽固性 粘滞性 不必要的复杂性 不必要的重复 晦涩性    7.1.2 僵化性   僵化性是指难以对软件进行改动,即使是简单的改动。如果单一的改动会导致有依赖关系的模块中的连锁改动,那么设计就是僵化的。必须要改动的模块越多,设计就越僵化。   大部分开发人员都会以这样或那样的方式遇到过这种情况。他们会被要求做一个看起来简单的改动

【DB宝30】使用Docker测试Oracle 11g高可用DG功能

余生颓废 提交于 2020-11-30 20:49:50
目录 一、下载镜像 二、初始化环境 三、测试 DG 的高可用功能 3 .1 主备同步 3 .2 switchover 3 .3 failover 3 .4 FSFO ( Fast-Start Failover ) 3 .5 故障切换 四、重建 DG 一、下载镜像 Oracle 11g DG搭建方法参考: 【DB宝29】使用Docker搭建Oracle 11g的DG环境 小麦苗DG环境的hub地址: https://hub.docker.com/r/lhrbest/dg_pri_11.2.0.4/tags https://hub.docker.com/r/lhrbest/dg_phy_11.2.0.4/tags 1 nohup docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_phy_11.2.0.4:1.0 & 2 nohup docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_pri_11.2.0.4:1.0 & 查看镜像: 1 [root@docker36 ~] # docker images | grep dg 2 registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_phy_11.2.0.4 1.0

选择Oracle数据库or达梦数据库

泪湿孤枕 提交于 2020-11-26 14:13:58
相信现在不少人是听说过达梦的数据库了,那么便会在选择oracle和 达梦 之间不知如何,那么接下来小编就给大家进行一个简单的分析,大家可根据实际情况去做一个选择。 Oracle的数据库在目前为止,在市场上的使用率还是比较高的,企业目前的很多需求还是在oracle上面,学习OCP的人士也不少,但ocm的难度还是比较高的,一般是在这行做了三到五年的工程师去学习考证的。要是从长远的发展角度来看,达梦其实也不失为是一种比较好的选择,因为现在在国内的话,是呈一种技术国有化的形式发展的,而达梦作为国内数据库的新秀,且常年在国家政府工作,是目前被强力支持的一项技术,在之后也会逐渐取缔oracle在市场的占有率,所以是从长远的角度来看的话是比较支持大家去学习达梦的,而且因为人才空缺较大,所以薪资不低,而且越早发展,晋升的速度也就越快。大学生建议学习DCA和DCP,难度适宜,工作两到三年的工程师可在深造学习DCM的课程,进行自我技术的升华。 我之前在上海 腾科 学习,感觉还行,大家如有需要可以自行去了解下。 来源: oschina 链接: https://my.oschina.net/tengke/blog/4750309

【2020年8月】OCP 071考试新题(-3题)CUUG内部题库

China☆狼群 提交于 2020-11-24 05:33:14
【2020年8月】OCP 071考试新题(-3题)CUUG内部题库 Choose the best answer. Examine the description of the CUSTOMERS table: Name Null? Type ----------------------------------------------------------------------- CUST_ID NOT NULL NUMBER CUST_FIRST_NAME NOT NULL VARCHAR2 (20) CUST_LAST_NAME NOT NULL VARCHAR2 (30) CUST_INCOME_LEVEL VARCHAR2 (30) CUST_CREDIT_LIMIT NUMBER For customers whose income level has a value, you want to display the first name and due amount as 5% of their credit limit. Customers whose due amount is null should not be displayed. Which query should be used? A) SELECT cust_first_name, cust

MySQL 5.7OCP考试经验分享。

落爺英雄遲暮 提交于 2020-11-11 21:40:01
一、报名考试 www.pearsonvue.com/oracle 访问以上网站,注册,预约考试科目,地点。 科目如下: 需要158美金,约等于1000元人民币。 二、考试 复习: 5.7ocp考试目前没有题库泄露出来,越早考含金量越高。以我这次考试的经验来看,5.7ocp考试含有5.6ocp考试大约三分之一的原题或近似的题目。建议考前先复习一下5.6ocp的题目(百度1Z0-883,应该可以很快找到下载链接,注意里面大概有100-200道题,但答案不一定正确,需要自己折磨梳理正确答案)。 5.7新增考点: 以我这次考试的经验,里面有这些新考点: 1. old_alter_table=0与alter table drop partition的关系 2.X509 一题 3.PAM 一题 4.MGR考了一题,通过哪个方式可以看到MGR解决事务冲突的问题 1.PS库 2.IS库 3.show processlist 4.show slave status 5.show engine innodb status 5.执行计划中多表join时,各表的显示顺序是依据什么条件 6.密码校验插件 考了密码校验插件设置为strong,导入了一个密码字典文件,问以下描述错误的,这个题得结合图片 7.密码插件sha256_password 8.考了root密码忘记了怎么找回 考试当天准备: 洗好脸梳好头

重磅发布!OpenShift4.6抢先知

一个人想着一个人 提交于 2020-11-10 05:32:07
大魏为啥说OCP4.6是重磅发布呢?很重要一点是这个版本是OCP的长生命支持版本,支持将会到2022年的3月底,这样在生产上就可以避免频繁的集群升级: OCP4.6的新功能概览如下: 大魏将自己的实验环境,从OCP4.5先升级到了OCP 4.6.0-RC4,再升级到OCP4.6.1(Candidate Channel,客户生产可以再等一周左右,这个镜像就会发布到Stable Channel中),升级步骤如下: 升级之前查看ClusterOperator: 选择Channel进行升级: OCP4.6中,升级的顺序比较直观了,即先升级ClusterOperator、再升级Master节点、Worker节点: 升级完毕后,查看Cluster Operator: 查看OCP Node,K8S版本为1.19: 查看OperatorHub,Operator的数量已经增加到405个,增加的速度非常快,看来这是大势所趋: 在上图中,我们看到Martetplace中的Operator有84个,红帽想将这个Privider打造成类似苹果应用商店: https://marketplace.redhat.com/en-us A simpler way to buy and deploy container-based software across clouds 想了解OpenShift和红帽更多新技术

面试官问,你在开发中有用过什么设计模式吗?我懵了

て烟熏妆下的殇ゞ 提交于 2020-11-10 02:49:07
设计模式不应该停留于理论,跟具体业务结合,它才会变得更香~ 1.前言 设计模式我们多少都有些了解,但是往往也只是知道是什么。 在真实的业务场景中,你有用过什么设计模式来编写更优雅的代码吗? 我们更多的是每天从产品经理那里接受到新需求后,就开始MVC一把梭,面向sql编程了。 我们习惯采用MVC架构,实时上是非常容易创建很多贫血对象模型,然后写出过程式代码。我们使用的对象,往往只是数据的载体,没有任何逻辑行为。我们的设计过程,也是从ER图开始,以数据为中心进行驱动设计。一个需求一个接口,从controller到service到dao,这样日复一日的CRUD。 什么设计模式?根本不存在的! 今天,我们尝试从常用设计模式(工厂模式、代理模式、模版模式)在CRUD中的可落地场景,希望能给大家带来一些启发。 2.理解设计模式 设计模式(Design pattern),不是前人凭空想象的,而是在长期的软件设计实践过程中,经过总结得到的。 使用设计模式是为了让代码具有可扩展性,实现高聚合、低耦合的特性。 世上本来没有设计模式,写代码的人多了,便有了设计模式。 面向对象的设计模式有七大基本原则: 开闭原则(Open Closed Principle,OCP) 单一职责原则(Single Responsibility Principle, SRP) 里氏代换原则(Liskov