
Java设计模式
文章平均质量分 89
希望通过分享课内学习笔记和代码,收获更多从事IT的小伙伴
XYX的Blog
太原理工大学
展开
-
设计模式02-桥接模式(Java)
它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。在使用关联关系是,及在抽象类引入实现类接口时可能会出现不适配的情况,这是可以用适配器类型将其转换成抽象类可以适配的类进行关联。扩展抽象化角色 :是抽象化角色的子类,实现父类中的业务方法, 并通过组合关系调用实现化角色中的业务方法。实现化角色 :定义实现化角色的接口,供扩展抽象化角色调用。抽象化角色 :定义抽象类,并包含一个对实现化对象的引用。具体实现化角色 :给出实现化角色接口的具体实现。实现了对抽象和实现之间的解耦。原创 2024-10-13 18:12:59 · 785 阅读 · 1 评论 -
设计模式03-装饰模式(Java)
不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。原创 2024-10-13 18:14:10 · 683 阅读 · 0 评论 -
设计模式09-行为型模式2(状态模式/策略模式/Java)
1.模式动机:有些对象具有多种状态,这些状态在某些情况下能够相互转换,对象在不同的状态下将具有不同的行为,将拥有状态的对象中和状态的行为分离。2.模式定义:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类1.模式动机:解决某一问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便地更换算法或者增加新的算法。2.模式定义:定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。原创 2024-11-03 17:36:11 · 1083 阅读 · 0 评论 -
设计模式08-行为型模式1(命令模式/迭代器模式/观察者模式/Java)
描述对象之间的调用关系**1.模式动机:**将请求发送者和接收者完全解耦;发送者与接收者之间没有直接引用关系;发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求**2.模式定义:**将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。1.模式动机:如何访问一个聚合对象(用于存储多个对象)中的元素但又不需要暴露它的内部结构,还能提供多种不同的遍历方式2.模式定义:提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示。原创 2024-11-03 11:06:45 · 1139 阅读 · 0 评论 -
设计模式07-结构型模式2(装饰模式/外观模式/代理模式/Java)
1.动机:在不改变一个对象本身功能的基础上给对象增加额外的新行为2.定义:动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活**1.模式动机:**一个客户类需要和多个业务类交互,有时候这些需要交互的业务类会作为一个整体出现,如何简化这种主系统和子系统之间的交互。**2.模式定义:**为子系统中的一组接口提供一个统一的入口,外观模式定义了一个高层接口,这个接口使得子系统更加容易使用,外部与子系统的通信通过一个统一的外观对象进行。原创 2024-10-31 16:24:06 · 605 阅读 · 0 评论 -
设计模式06-结构型模式1(适配器/桥接/组合模式/Java)
1.动机:适配器可以使由于接口不兼容而不能交互的类可以一起工作,这就是适配器模式的模式动机。2.定义:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器1.动机:如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使得两者可以独立扩展。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了传统的多重继承,将类之间的静态继承关系转换为动态的对象组合关系,使得系统更加灵活,并易于扩展,同时有效地控制了系统中类的个数。原创 2024-10-26 18:32:54 · 1267 阅读 · 1 评论 -
设计模式05-创建型模式2(建造者/原型/单例模式/Java)
动机:方便创建复杂对象(一个对象中包含多个成员变量)定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。动机:有些对象的创建过程较为复杂,而且需要频繁创建。通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。定义:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原创 2024-10-19 20:43:32 · 807 阅读 · 0 评论 -
设计模式04-创建型模式1(简单工厂/工厂模式/抽象工厂/Java)
专门定义一个类来负责创建其他类的实例,可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。动机:为了解决简单工厂模式不易扩展以及工厂类职责太重的为问题。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口, 而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定 究竟应该实例化哪一个具体产品类。动机:需要一个工厂,生产多个对象产品等级结构:产品的继承结构(一个产品的不同表现形式:名词)原创 2024-10-18 18:47:44 · 1181 阅读 · 0 评论 -
设计模式01-类图及设计原理(Java)
用户通过注册界面(RegisterForm)输人个人信息,单击“注册”按钮后将输人的信息通过一个封装用户输入数据的对象(UserDTO)传递给操作数据库的数据访问类,为了提高系统的扩展性,针对不同的数据库可能需要提供不同的数据访问类,因此提供了数据访问类接口,如 IUserDAO,每一个具体数据访问类都是某一个数据访问类接口的实现类,如OracleUserDAO 就是一个专门用于访问 Oracle 数据库的数据访问类。换句话说,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。原创 2024-10-07 19:47:06 · 1370 阅读 · 0 评论