摘要: 建造者模式(Builder Pattern) 1.模式动机 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造 阅读全文
posted @ 2020-10-24 17:03 SSunSShine 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式(Abstract Factory) 1.模式动机 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。 阅读全文
posted @ 2020-10-23 22:03 SSunSShine 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式(Factory Method Pattern) 1.模式动机 现在对该系统进行修改,不再设计一个按钮工厂类来统一负责所有产品的创建,而是将具体按钮的创建过程交给专门的工厂子类去完成,我们先定义一个抽象的按钮工厂类,再定义具体的工厂类来生成圆形按钮、矩形按钮、菱形按钮等,它们实现在抽象按 阅读全文
posted @ 2020-10-23 21:51 SSunSShine 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式( Simple Factory Pattern ) 1.模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我们希望在使 阅读全文
posted @ 2020-10-23 21:13 SSunSShine 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 设计模式七大原则 1.设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好的 1) 代码重用性 (即:相同功能的代码,不用多次编写) 2) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解 阅读全文
posted @ 2020-10-23 20:46 SSunSShine 阅读(69) 评论(0) 推荐(0) 编辑
摘要: UML 统一建模语言(Unified Modeling Language,UML) 类图 - 类与类之间的关系 泛化关系(继承) 类的继承结构表现在UML中为:泛化(generalize)与实现(realize): 继承关系为 is-a的关系;两个对象之间如果可以用 is-a 来表示,就是继承关系: 阅读全文
posted @ 2020-10-23 20:26 SSunSShine 阅读(55) 评论(0) 推荐(0) 编辑
摘要: ###多态( ) 即同一方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但是可以指向对象的引用类型有很多 #####多态注意事项 多态是方法的多态,属性没有多态 父类和子类,有联系 否则会报错:类型转换异常! ClassCastException 存在条件: 继承关系 阅读全文
posted @ 2020-09-27 00:35 SSunSShine 阅读(116) 评论(0) 推荐(0) 编辑
摘要: ###java内存简单分析 #####堆 1.存放new的对象和数组 2.可以被所有的线程共享,不会存放别的对象的引用 #####栈 1.存放基本变量类型(会包含这个基本类型的具体参数) 2.引用对象的变量(会存放这个引用在堆里面的具体地址) #####方法区(属于堆) 1.可以被所有的线程共享 2 阅读全文
posted @ 2020-09-26 23:41 SSunSShine 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 5. 172_阶乘后的零 /* 给定一个整数 n,返回 n! 结果尾数中零的数量。 */ /** * 算一下乘法因子里有多少个5 * 找因子直接遍历(o(n)超时) */ public class Solution { public int trailingZeroes(int num) { int 阅读全文
posted @ 2020-09-26 19:45 SSunSShine 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 4. 43_字符串相乘 /* 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 */ /* O(mn+n²),O(m+n) */ class Solution { public String multiply(Strin 阅读全文
posted @ 2020-09-26 19:44 SSunSShine 阅读(61) 评论(0) 推荐(0) 编辑