摘要:
依赖倒转原则:抽象不应该依赖细节,细节应该依赖于抽象,说白了,就是要针对接口编程,不要针对实现编程。 依赖倒转原则:A:高层模块不应该依赖底层模块,两个都应该依赖抽象。B:抽象不应该依赖细节,细节应该依赖抽象。 依赖倒转原则其实就是谁也不要依靠谁,除了约定的接口,大家都可以灵活自如。 依赖倒转其实可 阅读全文
摘要:
开-闭原则:是说软件实体(类、模块、函数等等),应该可以扩展,但是不可修改。 这个原则其实有两个特性:一个是说‘对于扩展是开放的(Open for extension)’,另一个是说‘对于更改是封闭的(Closed for modification)’。 面对需求,对程序的改动是通过增加新代码进行的 阅读全文
摘要:
单一职责原则(SRP):就一个类而言,应该仅有一个引起他变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑致这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件谁救真正要做的许多内容,就是发现职责并把哪些 阅读全文
摘要:
Context中改动了一些代码,和简单工厂模式结合使用: 测试类:测试类中注释掉的代码是没有结合简单工厂模式的时候在客户端写的代码。 测试结果: 5 + 4 = 9;5 - 4 = 1;5 * 4 = 20; UML图: 阅读全文
摘要:
简单工厂模式只是解决对象的创建问题。 面向对象的编程,并不是类越多越好, 类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象几何才是类。 封装变化点是面向对象的一种很重要的思维方式。 策略模式:面对算法的时常变动。封装变化点是我们面向对象的一种很重要的思维方式。它定义了算法家族, 阅读全文
摘要:
那个动物矩形框,它就代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,“+”表示public,"-"表示private,“#”表示protected. 关联:企鹅和气候有很大 阅读全文
摘要:
抽象工厂模式: 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。通过一个工厂的生成器来创建所需要的工厂,再由对应的工厂创建对应的对象。缺点:当需要扩展时,需要在原先的代码上进行扩展,容易把原先的代码误操作改掉。 测试类: 运行结果: Rectangle::draw() methodSquar 阅读全文
摘要:
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到其子类。 工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。你想要加功能,本来是改工厂类的,而现在是修改客户端! 工厂方法克服了简单工厂违背开-闭原则的缺点,有保持了封装对象创建过程的优点。但缺点 阅读全文
摘要:
简单工厂模式: 工厂类负责创建的对象比较少,对于对象的创建不关心,一般在简单的场景下使用。 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。 UML图: 阅读全文
摘要:
jsp中ajax代码: 1 $.ajax({ 2 var id = $("#studentid").val();//获取标签中的学生id 3 url:'${pageContext.request.contextPath}/student/stu_delStudent.action?studentid='+i... 阅读全文