软件设计原则与UML类图
软件设计原则与UML类图 1 软件设计原则 开闭原则(Open Closed Principle, OCP):对扩展开发,对修改关闭 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责 里氏替换原则(Liskov Substitution Principle, LSP):所有引用基类的地方必须能透明地使用其子类对象 依赖倒置原则(Dependency Inversion Principle, DIP):依赖于抽象,不能依赖于具体实现 接口隔离原则(Interface Segregation Principle,ISP):类之间地依赖关系应该建立在最小的接口上 合成/聚合复用原则(Composite/Aggregate Reuse Principle,C/ARP):尽量使用合成/聚合,而不是用过继承达到复用的目的 最少知识原则(Least Knowledge Principle,LKP)或迪米特法则(Law of Demeter, LOD):一个软件实体应当尽可能少的与其他实体发生相互作用。 2 UML类图 3 Spring使用了哪些设计模式 工厂设计模式:Spring使用工厂模式通过Beanfactory、ApplictionContext创建Bean对象 代理设计模式:Spring AOP功能的实现 单例设计模式:Spring中的Bean默认都是单例的 模板方法模式:Spring中jdbcTemplate、hibernateTemplate等以Template结尾对数据库操作的类 包装器设计模式: 观察者模式:Spring事件驱动模型 适配器模式:Spring AOP的增强或者通知使用到了适配器模式,Spring MVC中也使用了适配器模式适配Controller 4 JDK使用了哪些设计模式 桥接模式 适配器模式 组合模式 装饰器模式 享元模式 代理模式 抽象工厂模式 建造者模式 工厂方法 原型模式 单例模式 责任链模式 命令模式 解释器模型 中介者模式 备忘录模式 空对象模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式