漫画:设计模式六大原则(下)
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;
}
}
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);
}
}
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());
}
}
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));
}
}
原文发布时间为:2018-09-2
本文作者:小小小咖
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
区块链开发公司谈物联网如何抱紧区块链的大腿
虽然,物联网技术的发展和应用在最近几年取得了显著成果,目前在世界范围内已经有数十亿个传感器和智能控制器投入使用,预计在未来几年这个数字还会成倍的增长。但是,物联网技术也面临着许多问题和挑战,这些问题有可能成为物联网在未来发展和应用的巨大障碍,而区块链技术给这些问题的解决提供了新的可能性。 物联网运营商或个人的设备和网络进行数据的传输和存储,无法满足多方利益的分配,数据共享成本变高。如果说提供基础设施设备和网络服务的公司和个人想要获得可靠的收益,比如按照存储和传输的数据量进行收费,不同物联网服务提供商需要实现资源共享,签订合作协议,并在顶层设计上做好结算系统。而在万物互联的大环境下,这种双方互签协议的合作模式,实施成本非常之高,管理细节非常琐碎,基本无法实现。 第一道坎,行业标准化。我们都清楚提高效率的一个重要手段就是标准化,而物联网偏偏很难提高效率,因为物联网的应用领域非常广,不同领域需求差异大,导致物联网行业解决方案技术实现复杂,难以快速大规模落地。 第二道坎,信息安全。物联网需要各种线下设备个人大量的生活、交易等隐私信息,这些信息都被收集保存到一个个信息“孤岛”中,也就是巨头手中。...
- 下一篇
apply,map,applymap总结
Python中apply,map,applymap总结 pandas中DataFrame 数据类型,使用map,apply方法使用较多,做一下总结。参考https://www.cnblogs.com/cymwill/p/7577369.html 总结: apply 用在dataframe上,用于对row或者column进行计算; applymap 用于dataframe上,是元素级别的操作; map (其实是python自带的)用于series上,是元素级别的操作。 df = pd.DataFrame(np.random.randint(0,10,(4, 3)), columns=list('bde'), index=range(4)) df b d e 0 4 9 3 1 3 1 0 2 4 8 0 3 2 9 9 apply:作用在dataframe的一行或一列上,也可以作用在series上 定义一个函数, f = lambda x: x.max() - x.min() 这个函数可以结合apply作用在DataFrame类型的行或者列上 # 和加上axis = 0 ,默认是作用在列...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8