漫画:设计模式六大原则(下)

简介:

dab1d9e52d5d80baf514e8dae7a3da52561082b5

public interface CarService{
   String getName ();
   void drive ();
   String color();
}

public class Sedan implements CarService {
   private String name;
   private String color;
   private int speed;

   public Sedan(String name, String color,int speed{
       this.name = name;
       this.color = color;
       this.speed = speed;
   }

   @Override
   public String getName()
 
{
       return this.name;
   }

   @Override
   public void drive() {
       System.out.println("普通的小车普通的开" + this.speed);
   }

   @Override
   public String color() {
       return this.color;
   }
}

cec3eb842700c7765ec4aa3025134a469b1c6e80

public class FastSedan extends Sedan {
   public FastSedan(String name, String color, int speed) {
       super(name, color, speed);
   }

   public void drive() {
       System.out.println("飙车的飙,飙起来" + this.getSpeed() * 2);
   }
}

15b17d81909985fa59d19cdbbf9496631db1ee82

public class Boss {
   //发布任务给cto
   public void pushJob(CTO cto) {
       List<Programmer> list = new ArrayList<Programmer>();
       for (int i = 0;i < 5;i++) {
           list.add(new Programmer());
       }
       cto.assignmentTask(list);
   }
}

public class CTO {
   //分配任务
   public void assignmentTask(List<Programmer> programmers) {
       for (Programmer programmer:programmers) {
           programmer.backPot();
       }
   }
}

public class Programmer {
   //背锅
   public void backPot () {
       System.out.println("程序员背起了小锅");
   }
}

public class Client {
   public static void main (String []args) {
       Boss boss = new Boss();
       boss.pushJob(new CTO());
   }
}

482d99c6a4bb75495511f3bb21bd4bebba580d63

public class Boss {
   //发布任务给cto
   public void pushJob(CTO cto{
       cto.assignmentTask();
   }
}

public class CTO {
   private  List<Programmer> programmers;
   public CTO(List<Programmer> programmers{
       this.programmers = programmers;
   }

   public void assignmentTask({
       for (Programmer programmer:programmers) {
           programmer.backPot();
       }
   }
}

public class Programmer {
   //背锅
   public void backPot ({
       System.out.println("程序员背起了小锅");
   }
}

public class Client {

   public static void main (String []args{
       List<Programmer> programmers = new ArrayList<Programmer>();
       for (int i = 0;i < 5;i++) {
           programmers.add(new Programmer());
       }
       Boss boss = new Boss();
       boss.pushJob(new CTO(programmers));
   }
}

437de8dd9bd7937195c66f5e56b2005af1fde274


原文发布时间为:2018-09-2

本文作者:小小小咖

本文来自云栖社区合作伙伴“JAVA小咖秀”,了解相关信息可以关注“JAVA小咖秀”。

相关文章
|
3月前
|
设计模式
设计模式七大原则
这篇文章介绍了设计模式中的七大原则,特别强调了单一职责原则,即一个类应该只有一个引起其行为变化的原因,以确保类功能的高内聚和低耦合。
|
3月前
|
设计模式 存储 前端开发
React开发设计模式及原则概念问题之自定义Hooks的作用是什么,自定义Hooks设计时要遵循什么原则呢
React开发设计模式及原则概念问题之自定义Hooks的作用是什么,自定义Hooks设计时要遵循什么原则呢
|
2月前
|
设计模式 Java 关系型数据库
设计模式——设计模式简介和七大原则
设计模式的目的和核心原则、单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则
设计模式——设计模式简介和七大原则
|
5月前
|
设计模式 供应链
设计模式六大原则之迪米特法则
设计模式六大原则之迪米特法则
|
5月前
|
设计模式
设计模式六大原则之依赖倒置原则
设计模式六大原则之依赖倒置原则
|
3月前
|
设计模式 算法 开发者
设计模式问题之最小知识原则(迪米特法则)对代码设计有何影响,如何解决
设计模式问题之最小知识原则(迪米特法则)对代码设计有何影响,如何解决
|
3月前
|
设计模式 前端开发 JavaScript
React开发设计模式及原则概念问题之什么是HOC(Higher-order component),HOC遵循的设计原则都有哪些
React开发设计模式及原则概念问题之什么是HOC(Higher-order component),HOC遵循的设计原则都有哪些
|
3月前
|
设计模式 前端开发 JavaScript
React开发设计模式及原则概念问题之什么是设计模式,单一职责原则如何理解
React开发设计模式及原则概念问题之什么是设计模式,单一职责原则如何理解
|
5月前
|
设计模式 uml
设计模式学习心得之前置知识 UML图看法与六大原则(下)
设计模式学习心得之前置知识 UML图看法与六大原则(下)
40 2
|
5月前
|
设计模式 Java 数据库
深入理解设计模式六大原则
深入理解设计模式六大原则

热门文章

最新文章

  • 1
    C++一分钟之-设计模式:工厂模式与抽象工厂
    42
  • 2
    《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
    46
  • 3
    C++一分钟之-C++中的设计模式:单例模式
    54
  • 4
    《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
    38
  • 5
    《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
    62
  • 6
    Java面试题:结合设计模式与并发工具包实现高效缓存;多线程与内存管理优化实践;并发框架与设计模式在复杂系统中的应用
    57
  • 7
    Java面试题:设计模式在并发编程中的创新应用,Java内存管理与多线程工具类的综合应用,Java并发工具包与并发框架的创新应用
    41
  • 8
    Java面试题:如何使用设计模式优化多线程环境下的资源管理?Java内存模型与并发工具类的协同工作,描述ForkJoinPool的工作机制,并解释其在并行计算中的优势。如何根据任务特性调整线程池参数
    50
  • 9
    Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
    106
  • 10
    Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
    78