
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了java编程开发语言的一些基础知识等内容,而本文我们就再来了解一下,java编程开发设计模式应用场景分析。
通过显示地指定一个类来创建对象。
创建对象时指定类名将使我们受实现的约束,应该面向接口编程,这种时候应该间接地创建对象。
解决模式:抽象工厂、工厂方法、原型
对特殊操作的依赖。
当我们为请求指定一个特殊的操作时(炸酱面多加葱蒜不要香菜,特麻特辣),完成该请求的方式就固定下来了,这不利于代码复用,且代码死板。为避免把请求代码写死,可以在编译或者运行时刻很方便地改变相应请求的方法。
解决模式:责任链、命令
对硬件和软件平台的依赖。
外部的操作系统接口和应用编程接口(API)在不同的软硬件平台上是不同的。依赖于特定平台的软件将很难移植到其他平台上,这时候就需要对变化作出封装,设计系统时限制其平台相关性。
解决模式:抽象工厂、桥接
对对象表示或实现的依赖。
知道对象怎样表示、保存、定位或实现的客户在对象发生变化时可能也需要变化,对客户隐藏这些信息可以阻止连锁变化。小知道原则。
解决模式:抽象工厂、桥接、备忘录、代理
算法依赖
算法在开发和复用时常常被扩展、优化和替代。依赖于某个特定算法的对象在算法发生变化时不得不变化。因此对于可能发生变化的算法应该被孤立起来。
解决模式:建造者、迭代器、策略、模板方法、访问者
紧耦合
紧耦合的类很难独立地被复用,因为强依赖关系。要改变或删掉一个紧耦合的类,需要理解和改变其他许多类,这样的系统难以学习、移植和维护。
松散耦合提高了一个类本身被复用的可能性,设计模式使用抽象耦合和分层技术来提高系统的松散耦合性。
解决模式:抽象工厂、命令、外观、中介者、观察者、责任链
通过生成子类来扩充功能。
通过生成子类来扩充功能会导致类爆炸;通常很难通过定义子类来定制对象,定义子类需要对父类有深入的了解(里式替换)。一般通过对象组合技术和具体的委托技术,这是继承职位组合对象的另一种灵活方法。
小细节待实践发现:过多使用对象组合会使设计难于理解。可以定义一个子类,且将它的实例和已存在实例进行组合来引入定制的功能。
解决模式:桥接、责任链、组合、装饰器、观察者、策略
不能方便地对类进行修改
当不得不改变一个难以修改的类时,如源代码类,或者该类的改变会改变许多已存在的其他子类。
解决模式:适配器、装饰器、访问者
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。