设计模式
文章平均质量分 82
珞清殇
NEU大数据实验班,EMAIL:3209837767@qq.com
展开
-
面向对象设计模式:创建型模式之原型模式
一、引入二、代理模式,Prototype Pattern2.1 Intent 意图2.2 Applicability 适用性2.3 类图2.4 应用实例:使用下划线或消息框展示字符串2.4 应用实例:JDK java.lang.Object java.lang.Cloneable原创 2023-03-08 13:25:08 · 393 阅读 · 0 评论 -
面向对象设计模式:结构型模式之装饰器模式
FilterInputStream 与 InputStream 为组合和被组合关系。需求倘若变更:料种类增加、料价格变化,需要修改 Beverage 类。InputStream and OutputStream 字节流。需求变更:客户可以加料(咖啡、牛奶、糖等)Reader and Writer 字符流。aka:Wrapper (包装器)修改父类:Beverage。:开放封闭原则,对修改封闭。与装饰器设计模式类图相符!使用继承:类爆炸 NO。Initial 初始。原创 2023-03-07 20:06:55 · 564 阅读 · 1 评论 -
面向对象设计模式:结构型模式之适配器模式
如果它像鸭子一样走路,那么它可能是一只带着鸭子适配器的火鸡。aka:Wrapper (包装器)以迭代器形式遍历枚举。原创 2023-03-07 22:00:00 · 463 阅读 · 1 评论 -
面向对象设计模式:创建型模式之建造者模式
Build:建造和构建具有建筑结构的大型物体。(将变与不变分隔开)原创 2023-03-07 15:30:30 · 324 阅读 · 0 评论 -
面向对象设计模式:行为型模式之状态模式
设计模式-行为型模式设计模式-状态模式原创 2023-03-06 21:05:15 · 616 阅读 · 1 评论 -
面向对象设计模式:结构型模式之代理模式
is a replacement for a bare pointer that performs additional actions when an object is accessed. 在访问对象时,可以执行其他操作的智能引用是裸指针的替代品。控制对对象的访问的一个原因是要延迟其创建和初始化的全部成本,直到我们实际需要使用它为止。即只在必要时生成开销大的对象。只有在文档编辑器要求其显示图像时,图像代理才会创建真实的图像,代理会将后续请求直接转发到图像。原创 2023-03-06 19:38:52 · 349 阅读 · 3 评论 -
面向对象设计模式:行为型模式之模板方法模式
Define the skeleton of an algorithm in an operation, deferring some steps to lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure. 在操作中定义算法的骨架,延迟一些步骤,让子类在不改变算法结构的情况下重新定义算法的某些步骤。原创 2023-03-06 16:18:57 · 285 阅读 · 1 评论 -
面向对象设计模式:行为型模式之迭代器模式
Static Iterator and Dynamic Iterator:静态迭代器和动态迭代器。提供一种按顺序访问聚合对象的元素而不公开其基础表示形式的方法。Fail-Fast in Java:Java 中的快速失败。ConcreteIterator 定义在哪?原创 2023-03-06 01:35:49 · 608 阅读 · 0 评论 -
面向对象设计模式:行为模式之责任链模式
When a client issues a request, the request propagates (传播) along the chain until a ConcreteHandler object takes responsibility for handling it.当客户端发出请求时,请求沿链传播(传播),直到某个 ConcreteHandler 对象负责处理它。原创 2023-03-05 22:10:10 · 189 阅读 · 1 评论 -
面向对象设计模式:创建型模式之单例模式
单例模式是确保类有且仅有一个实例的创建型模式,其提供了获取类唯一实例(全局指针)的方法。单例模式类提供了一种访问其唯一的对象的方式,可以直接访问,而不需要实例化该类的对象。原创 2023-03-05 18:31:23 · 394 阅读 · 1 评论 -
面向对象设计模式:创建型模式之抽象工厂模式
抽象工厂模式是围绕一个抽象工厂(其他工厂的工厂)创建其他工厂的创建型模式。原创 2023-03-05 17:28:46 · 376 阅读 · 1 评论 -
面向对象设计模式:创建型模式之工厂模式
文章目录一、问题引入:new Duck二、工厂模式三、应用实例:披萨连锁店[Source] PPT of sk of NEU一、问题引入:new Ducknew 的问题当我们看见 new 的时候,一定会想到实例化具体类;当我们有一整个相关的具体类的集合的时候,经常被迫写这样的代码:Duck duck;String s = "?";if(s.equals("picnic")){ duck = new MallardDuck();}else if(s.equals("hunting")){原创 2021-03-26 01:14:43 · 173 阅读 · 1 评论 -
面向对象设计模式:行为型模式之策略模式
文章目录二、策略模式三、应用实例:排序系统[Source] PPT of sk of NEU一、问题引入:学霸、学渣、学弱 上图学霸、学渣、学弱都继承了大学生类,但是我们可以发现:如果一个学渣想变成一个学霸,那么该学渣必须消灭(C++析构),并重新实例化一个学霸。What,学渣想变成学霸?不可能,我们能做的只有消灭学渣。简直没天理。那么学渣如何变成学霸,显然上述设计存在问题,对现实的抽象也不太好。改进如下: em…这个还行,学霸拥有学霸行为、学渣拥有学渣行为、学弱拥有学弱行为,一个学渣想要变原创 2021-03-19 16:56:34 · 300 阅读 · 0 评论 -
面向对象设计模式:行为型模式之观察者模式
文章目录一、问题引入:照顾孩子二、观察者模式三、Java 内置的观察者模式四、使用 Java 内置的观察者模式解决二次变更需求五、使用观察者模式解决二次变更需求[Source] PPT of sk of NEU一、问题引入:照顾孩子初始需求:当孩子哭闹时,父亲必须立即检查孩子,不允许孩子哭针对初始需求的解决方法如下:// Baby.javapublic class Baby { volatile String state="happy"; void cry(){ state=原创 2021-03-15 22:04:11 · 269 阅读 · 1 评论 -
面向对象设计七原则
一、软件设计的七宗罪Rigidity (僵化):make it hard to changeFragility (脆弱) :make it easy to breakImmobility (固化) :make it hard to reuseViscosity (黏滞) :make it hard to do the right thingNeedless Complexity (非必要复杂性) :over designNeedless Repetition (非必要重复) :error pr原创 2021-03-02 00:38:08 · 37 阅读 · 0 评论 -
面向对象设计模式之最小知识原则(PLK)
一、定义-Definition原创 2021-03-01 18:27:44 · 251 阅读 · 0 评论 -
面向对象设计模式之合成复用原则(CRP)
一、定义-Definition原创 2021-03-01 18:20:30 · 492 阅读 · 0 评论 -
面向对象设计模式之依赖倒置原则(DIP)
一、定义-Definition原创 2021-03-01 18:18:13 · 116 阅读 · 0 评论 -
面向对象设计模式之接口分离原则(ISP)
一、定义-Definition原创 2021-03-01 18:16:52 · 226 阅读 · 0 评论 -
面向对象设计模式之里氏替换原则(LSP)
一、定义-Definition原创 2021-03-01 18:15:44 · 163 阅读 · 0 评论 -
面向对象设计模式之开放封闭原则(OCP)
一、定义-Definition原创 2021-03-01 18:13:51 · 235 阅读 · 0 评论 -
面向对象设计模式之单一职责原则(SRP)
一、定义-Definition原创 2021-03-01 18:12:38 · 236 阅读 · 0 评论