摘要: 那个动物矩形框,它就代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,“+”表示public,"-"表示private,“#”表示protected. 关联:企鹅和气候有很大 阅读全文
posted @ 2018-08-07 23:57 以前、以后 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式: 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。通过一个工厂的生成器来创建所需要的工厂,再由对应的工厂创建对应的对象。缺点:当需要扩展时,需要在原先的代码上进行扩展,容易把原先的代码误操作改掉。 测试类: 运行结果: Rectangle::draw() methodSquar 阅读全文
posted @ 2018-08-07 22:32 以前、以后 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。 工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。你想要加功能,本来是改工厂类的,而现在是修改客户端! 工厂方法克服了简单工厂违背开-闭原则的缺点,有保持了封装对象创建过程的优点。但缺点 阅读全文
posted @ 2018-08-07 21:48 以前、以后 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式: 工厂类负责创建的对象比较少,对于对象的创建不关心,一般在简单的场景下使用。 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。 UML图: 阅读全文
posted @ 2018-08-07 21:28 以前、以后 阅读(128) 评论(0) 推荐(0) 编辑