失效链接处理 |
Java开发中的23种设计模式详解 PDF 下载
本站整理下载:
相关截图:
主要内容:
二、、设设计计模模式式的的六六大大原原则则 1、、开开闭闭原原则则((Open Close Principle) 开闭原则就是说对对扩扩展展开开放放,,对对修修改改关关闭闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插 拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用 接口和抽象类,后面的具体设计中我们会提到这点。 2、、里里氏氏代代换换原原则则((Liskov Substitution Principle) 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可 以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不 受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原 则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏 代换原则是对实现抽象化的具体步骤的规范。—— From Baidu 百科 3、、依依赖赖倒倒转转原原则则((Dependence Inversion Principle) 这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。 4、、接接口口隔隔离离原原则则((Interface Segregation Principle) 这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我 们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出 现:降低依赖,降低耦合。 5、、迪迪米米特特法法则则((最最少少知知道道原原则则))((Demeter Principle) 为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独 立。 Java开发中的23种设计模式详解 - 既然来了就要多看几篇博客, 因为每一篇都适合你。如果收藏重复看,你一定能感受到我的正能量。 - ITeye技术网站 2013-10-18 http://zz563143188.iteye.com/blog/1847029 2 / 38
6、、合合成成复复用用原原则则((Composite Reuse Principle) 原则是尽量使用合成/聚合的方式,而不是使用继承。 三三、、Java的23中中设设计计模模式式 从这一块开始,我们详细介绍Java中23种设计模式的概念,应用场景等情况,并结合他们的特点及设计模式的原 则进行分析。 1、、工工厂厂方方法法模模式式((Factory Method) 工厂方法模式分为三种: 11、、普普通通工工厂厂模模式式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口: [java] viewplaincopy 1. public interface Sender { 2. public void Send(); 3. } 其次,创建实现类: [java] viewplaincopy 1. public class MailSender implements Sender { 2. @Override 3. public void Send() { 4. System.out.println("this is mailsender!"); 5. } 6. }[java] viewplaincopy 1. public class SmsSender implements Sender { 2.3. @Override 4. public void Send() { 5. System.out.println("this is sms sender!"); 6. } 7. } 最后,建工厂类: [java] viewplaincopy 1. public class SendFactory { 2.3. public Sender produce(String type) { 4. if ("mail".equals(type)) { 5. return new MailSender(); 6. } else if ("sms".equals(type)) { 7. return new SmsSender(); 8. } else { 9. System.out.println("请输入正确的类型!"); 10. return null; 11. } 12. } Java开发中的23种设计模式详解 - 既然来了就要多看几篇博客, 因为每一篇都适合你。如果收藏重复看,你一定能感受到我的正能量。 - ITeye技术网站 2013-10-18 http://zz563143188.iteye.com/blog/1847029 3 / 38
13. } 我们来测试下: 1. public class FactoryTest { 2.3. public static void main(String[] args) { 4. SendFactory factory = new SendFactory(); 5. Sender sender = factory.produce("sms"); 6. sender.Send(); 7. } 8. } 输出:this is sms sender! 22、、多多个个工工厂厂方方法法模模式式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不 能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。关系图
|