Head First 设计模式(一)

    xiaoxiao2022-06-30  58

    设计原则:

    一、封装变化

    代码变化引起的不经意的后果变少,系统变得更有弹性

    二、针对接口编程,而不是针对实现编程。

    针对接口编程,关键在多态:程序可以针对超类型编程,执行时会根据实际状况执行到真正的行为。变量的声明是一个抽象类或接口。

    针对实现编程:

    Dog d = new Dog(); d.bark(); 针对接口编程:

    Animal animal = new Dog(); animal.makeSound();//利用animal进行多态调用 子类实例化的动作不再需要在代码中硬编码,而是在运行时才制定具体实现的对象。

    针对接口编程的文章:http://blog.chinaunix.net/uid-20478213-id-1942005.html

    如何选择接口还是抽象类:

    如果一个实体可以有多种实现方式,则在设计实体行为的描述方式时,应当达到这样一个目标:在使用实体的时候,无需详细了解实体行为的实现方式。行为模型应该总是通过接口而不是抽象类定义。

    三、多用组合,少用继承

    使用组合建立的系统有很大的弹性,不仅可以将算法簇封装成类,更可以在运行时动态地改变行为。

    策略模式:

    定义了算法簇,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户 策略模式:http://blog.csdn.net/hguisu/article/details/7558249/
    转载请注明原文地址: https://ju.6miu.com/read-1125832.html

    最新回复(0)