小巧未来

文章
10
资源
0
加入时间
2年10月17天

单一职责原则和开放-封闭原则

如果设计一个计算器有加减乘除的功能。下面的UML图违反了什么原则:单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。产生原因:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。判断方法:如果你能想到多于一个的动机去改变一个类,那么这个类就具有多于...

C++ STL Priority Queues

优先队列(Priority Queues):顾名思义,一个有着优先级的队列。它是一种ADT,和队列的思想差不多—— 排队,数据结构中的队列是不能插队的,不能颠倒排队的顺序,而在优先队列里,先出队列的元素不是先进队列的元素,而是优先级高的元素,默认的优先级是数字大的数优先级高。当然用户是可自定义类型的,这样就必须为元素定义一个优先级。因为出队元素不是最先进队的元素,则出队的方法有queue的front

PHP strtotime 的 BUG

strtotime('+1 month'),strtotime('-1 month') 碰到一个月中有28, 31天的就会有问题,比如 strtotime('+1 month', strtotime('2019-10-31')) 就会跳到 12月份去,而不是11月份;从 PHP5.3 开始呢,date 新增了一系列修正短语,来明确这个问题,那就是”first day of” 和 “last day of”解决了所以一般要用strtotime('last day of -1 mont..

ts:索引类型keyof

https://www.tslang.cn/docs/handbook/advanced-types.html例子1这三个 keyof 效果相同,直接生成一个联合属性 name | ageclass KeyCls0 { name: string; age: number;};interface KeyCls1 { name: string; age: number;};type KeyCls2 = { name: string, age: number};f

(java)数组中出现次数超过一半的数字:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,

文章目录题目描述分析代码题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。分析摘抄于:https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&&tqId=11181&rp=1&amp