java中implements是什么意思,在一篇文章中了解Java设计模式
网上在一篇文章中了解Java设计模式和java中implements是什么意思的相关题,大家都众说纷纭,那么今天小编为各位带来详细的讲解。
一、概述
这段时间系统看了设计模式的相关内容,也分享了相关内容。
七大设计原则
5种创意模式
7种结构模式
11种行为模式
设计模式一般分为三类
创意模式有五种类型工厂方法模式、抽象工厂模式、单例模式、构建器模式和原型模式。
共有7种结构模式适配器模式、装饰器模式、代理模式、形状模式、桥接模式、组合模式、享元模式。
总共有11种行为模式,包括策略模式、模板方法模式、观察者模式、重复子模式、责任链模式、命令模式、备忘录模式、状态模式、访者模式、中介者模式和解释器模式。
2.7大设计原则
面向对象编程有七个原则,通常称为设计模式,提倡它们的根本原因是重用代码并增加可维护性。设计模式实现这些原则以实现代码重用并提高可维护性。
理解这些原则是必要的,因为设计模式是基于这些原则的实现的。
1.单一职责原则SRP
英文全称是SingleResponsibilityPrimary,定义是一个类并且必须只有一个改变的原因。班级变动的原因是责任。如果一个类承担了太多的职责,这意味着将这些职责归为一个。一项职责的变化可能会削弱或抑制班级履行其他职责的能力。这种耦合可能会导致设计薄弱,在发生变化时可能会遭受意外损坏。为了防止这种情况发生,必须尽可能遵守单一责任原则。这一原则的关键是分离债券并增加凝聚力。
2.OCP的开闭原理
它的英文全称是OpenClosePrimary,定义为必须对扩展开放、对修改关闭的软件对象。开闭原则是面向对象设计中最重要的原则之一,许多其他设计原则都是实现开闭原则的手段。
3.里氏替代原理LSP
正式英文名称为LiskovSubstitutionPrimary,面向对象设计的基本原则之一。定义是所有基类可以出现的位置以及子类必须出现的位置。LSP是继承重用的基石,只有派生类能够替换基类且不影响软件单元的功能时,基类才可以被重用,并且派生类还可以在其基础上添加新的类。这是基类。里氏替换原则补充了开始和结束原则。实现开闭原则的关键步骤是抽象,而基类和子类之间的继承关系是抽象的具体实现,因此里氏替换原则是实现抽象的具体步骤的规范。
4.依赖倒置原理DIP
英文名称是DependenceInversionPrimary,这个原则是开放封闭原则的基础,依赖倒置原则要求调用者和被调用者都依赖抽象,所以两者之间会发生直接的关联和联系,我从来没有去做。当做出改变时,一方的改变不会改变任何东西,而是影响另一方的改变。依赖倒置强调抽象的重要性,接口编程依赖于抽象而不是具体。
5.ISP接口隔离原理
英文全称是InterfaceSegregationPrinciple。这个原则意味着使用多个隔离的接口比使用单个接口更好。目的是减少类之间的耦合并简化软件升级和维护。
6、最不为人知的原理迪米特原理
实体之间应尽可能少地交互,使系统功能模块相对独立。通俗地说,这就是不要和陌生人说话。这意味着一个主体应该尽可能少地了解另一主体。迪米特定律的初衷是为了减少类之间的耦合。由于每个类对其他类的依赖性最小,因此很容易使系统的功能模块功能独立,互不依赖。
7.合成/聚合重用
正式的英文名称是CompositeReusePrinciple,Composite/CollectiveReusePrinciple也通常被称为CompositeReusePrinciple。复合/聚合重用原则的潜台词是我只是用了你的方法,不一定一样。继承更加耦合。例如,如果父类后来添加了一个接口或删除了一个接口,则子类可能会遭受巨大的编译错误。然而,仅组合聚合和仅参考类方法不会造成这种重大风险。实现复用。
3.5种创作者模式
创建模式意味着这些设计模式提供了一种在构造对象时隐藏创建逻辑的方法,而不是直接使用new运算符实例化对象。这使程序可以更灵活地决定应为特定实例创建哪些对象。
1单例模式
正义
确保该类只有一个实例并直接实例化它,使该实例可供整个系统使用。
介绍
Singleton模式并不难理解,一个典型的例子就是一个公司只能有一个CEO。这主要是为了确保一个类只有一个实例。此类提供返回实例的方法。该方法首先检查系统中是否存在该单例,如果存在则返回,如果不存在则创建它。那。如果创建多个实例消耗太多资源或者您只需要某一类型的一个对象,则应该考虑使用单例模式。
达到
单例模式并不难理解。重要的是学习一些常见的编写方法。
饥饿中国式
publicclassSingleton//返回对象实例publicstaticSingletongetInstance懒惰风格
//写法1,懒惰风格写法publicclassSingletonpublicstaticsynchronousSingletongetInstancereturninstance;//写方法2、DCL双确认锁publicclassSingletonpublicstaticSingletongetSingletonreturnSingleton;/写入方法3、static内部类Singleton模式publicclassSingletonpublicstaticfinalSingletongetInstanceprivatestaticclassSingletonHolder上面的第一种懒写方法实现了延迟创建和线程安全,但缺点是每次调用getInstance时都会进行同步。效率低下,因为它必须完成。第二种DCL方法比较常见,是两次空。第一个可以防止不必要的同步,第二个可以确保单个实例的创建。这种方法比较好,但是在高并发环境下会出现题。第三种方法是最推荐的,因为它也是线程安全的并确保实例是唯一的。
2工厂方法模式
定义一个用于对象创建的接口,并让子类决定实例化哪个类。
工厂方法模式分为三种类型通用工厂模式设置一个工厂类并创建一些实现相同接口的类的实例。多工厂方法模式是对通用工厂方法模式的改进,通用工厂方法模式中,如果传入的字符串不正确,则无法正确创建对象,而多工厂方法模式则提供了可以创建多个工厂方法的功能。分别.object.静态工厂方法模式是一种将上述工厂方法模式的方法静态化的模式,因此可以直接调用它们,而不需要创建实例。
3抽象工厂模式
工厂方法模式的一个题是类创建依赖于工厂类。这意味着您必须修改工厂类才能扩展您的程序。这违反了封闭性原则。那么从设计的角度来说存在一定的题,如何解决呢?使用抽象工厂模式,可以创建多个工厂类,当需要添加新的功能时,可以直接添加新的工厂类,而无需修改旧的代码。
4Builder模组构建器
FactoryClass模式提供了创建单个类的模式,而Builder模式则集中管理各种产品来创建复杂的对象,所谓复杂对象是指具有不同属性的类,实际上就是Builder模式。通过结合之前的抽象工厂模式和最终的测试,
5原型模式
正义
您可以使用原型实例来指定要创建的对象类型,并复制这些原型以创建新对象。
介绍
原型模式并不难理解,而且有时候通过new创建对象的成本会太高,所以主要用在创建实例的时候,这种情况下可以考虑直接复制实例来快速创建对象。克隆实例具有与原始实例相同的内部属性。原型模式需要注意深拷贝和浅拷贝题。
4.7种救援模式
结构模式侧重于类和对象的组织。继承的概念用于构造接口并定义构造的对象如何获取新功能。
1适配器设计模式
适配器模式将特定类的接口转换为客户端期望的接口的不同表示形式,目的是消除因接口不匹配而导致的类兼容性题。主要分为三类类适配器模式、对象适配器模式、接口适配器模式。
类适配器模式
公共类源-------------------------------------公共接口Targetable公共类Adapter扩展Source实现TargetablepublicclassAdapterTest对象的适配器模式
基本概念与ClassAdapter模式相同,只是修改了Adapter类。这次,我们没有继承Source类,而是有一个Source类的实例来解决兼容性题。
公共类包装器实现TargetableOverridepublicvoidmethod2Overridepublicvoidmethod1。------------------------------------公共类AdapterTest接口中的适配器模式。
接口的适配器有有时我们编写的接口有多个抽象方法。当你编写一个实现接口的类时,你必须实现该接口的所有方法。这有时显然是浪费的。您可以使用抽象类。这个抽象类实现了接口及其所有方法,它不处理原来的接口,它只触及抽象类,所以你创建一个类,继承抽象类并重新编写。我们需要的是一个方法。
2桥接模式
正义
通过分离抽象部分和实现部分,它们可以独立更改。
介绍
在某些类型的软件系统中,其逻辑会引起二维以上的变化,我们如何应对这些“多维变化”呢?这就需要使用桥接模式。桥接模式需要重点理解抽象部分、实现部分、解耦。一个代表性的例子就是咖啡中加糖的题。抽象部分有Coffee,下面是LargeCoffee和SmallCoffee。实现部分有CoffeeAdd,其下有Sugar和Normal。抽象类Coffee引用了CoffeeAdd,所以CoffeeAdd是它实际上是一座桥。
3种装饰模式
顾名思义,装饰模式给一个对象添加一些新的功能,它是动态的,需要一个装饰对象和一个被装饰对象实现相同的接口。一个被装饰的对象包含一个被装饰的对象。
发表评论