技术标签: 设计模式
public class Functionality {
/*
* programmer的自我介绍
*/
public void aboutMyJobAndMe(Programmer programmer) {
//一些固定的不变算法
System. out.println( "大家好,请允许我在这里自我介绍一下" );
System. out.println( "我这里介绍一下我的职业" );
//需要做的
System. out.println( programmer.aboutMyJob());
//一些固定不变的算法
System. out.println( "很高兴能让大家认识我" );
}
public static void main(String[] args) {
Functionality profession = new Functionality();
profession.aboutMyJobAndMe( new Programmer());
}
}
public class Functionality {
/*
* profession的自我介绍
*/
public void aboutMyJobAndMe (Profession profession ) {
//一些固定的不变算法
System. out.println( "大家好,请允许我在这里自我介绍一下" );
System. out.println( "我这里介绍一下我的职业" );
//需要做的
System. out.println( profession.aboutMyJob());
//一些固定不变的算法
System. out.println( "很高兴能让大家认识我" );
}
public static void main(String[] args) {
Functionality profession = new Functionality();
profession. aboutMyJobAndMe( new Programmer());
profession. aboutMyJobAndMe( new Driver());
}
}
public class Phone extends Product {
public String aboutMyJob () {
return "我的职业是让人类之间通过电话来实现的信息交流" ;
}
}
public abstract class Product {
public abstract String aboutMyJob() ;
}
public interface CommonMethod {
//提供的公用接口方法
public String aboutMyJob() ;
}
public void aboutMyJobAndMe(CommonMethod commonmethod) {
//一些固定的不变算法
System. out.println( "大家好,请允许我在这里自我介绍一下" );
System. out.println( "我这里介绍一下我的职业" );
//需要做的
System. out.println( commonmethod.aboutMyJob());
//一些固定不变的算法
System. out.println( "很高兴能让大家认识我" );
}
public class Programmer implements CommonMethod{
public String aboutMyJob () {
return "我的职业是一名java程序员" ;
}
}
public class UseAdapter implements CommonMethod{
Product product; //这里使用了一个代理模式
public UseAdapter(Product product) {
this. product = product;
}
public String aboutMyJob() {
return product.aboutMyJob();
}
}
public class Functionality {
/*
* programmer的自我介绍
*/
public void aboutMyJobAndMe(CommonMethod commonmethod) {
//一些固定的不变算法
System. out.println( "大家好,请允许我在这里自我介绍一下" );
System. out.println( "我这里介绍一下我的职业" );
//需要做的
System. out.println( commonmethod.aboutMyJob());
//一些固定不变的算法
System. out.println( "很高兴能让大家认识我" );
}
public static void main(String[] args) {
Functionality functionality = new Functionality();
functionality.aboutMyJobAndMe( new Programmer());
functionality.aboutMyJobAndMe( new Driver());
//下面这段代码通过适配器成功调用了Phone,而Phone没有做任何修改
functionality.aboutMyJobAndMe( new UseAdapter( new Phone()));
}
}
文章浏览阅读224次。一、程序员使用键盘最常用的技能有些?打字速度 快速盲打,做到完全脱离视觉判断的能力。以常用的87键小型键盘为例,在做到最基本的字母键盲打外,需要熟练记牢在按下shift后的扩展功能键位(例如‘!’、’&’、’^’等,特别需要注意的是乘号’*’、除号’\’,这两个键的位置实在有点奇怪,如果没有习惯,每次都会在敲这两个键的时候,浪费不少的时间)..._vim指法游戏
文章浏览阅读1w次。在线HTTP接口测试工具 - Getman_综合在线
文章浏览阅读9.5k次,点赞18次,收藏95次。一.TCP服务端(一)创建一个TCP服务端可大致分为以下5个步骤: 1.初始化环境 2.创建监听套接字 3.监听套接字与IP地址及端口绑定 4.监听套接字 5.等待客户端连接1. 初始化环境WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);WSAStartup()函数的调用指明Windows Sockets..._c++ tcp
文章浏览阅读2.7k次,点赞2次,收藏9次。MySQL主从延迟_主从同步延迟怎么解决
文章浏览阅读1.6k次,点赞2次,收藏22次。minikube只是一个 K8S 集群模拟器,只有一个节点的集群,只为测试用,master 和 worker 都在一起直接用云平台 Kubernetes(阿里/腾讯)可视化搭建,只需简单几步就可以创建好一个集群。优点:安装简单,生态齐全,负载均衡器、存储等都给你配套好,简单操作就搞定裸机安装(Bare Metal)至少需要两台机器(主节点、工作节点个一台),需要自己安装 Kubernetes 组件,配置会稍微麻烦点。可以到各云厂商按时租用服务器,费用低,用完就销毁。_k8入门教程详解
文章浏览阅读5.2k次。异常信息:Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2022-05-26 15:36:45": not a valid representation (error: Failed to parse Date value '2022-05-26 15:36:45': Cannot par_caused by: com.fasterxml.jackson.databind.exc.invalidformatexception: cannot
文章浏览阅读4.4k次。最近在一个web项目中要调用shell脚本,把当天生产的一个文件推送到另一台机器上去,脚本内容大致如下:#!/bin/bashfor i in `cat aa`dodate=`date +%Y_%m_%d`file=${date}_some.gz/bin/cp $file some.gz >> copy.log 2>&1 && /usr/bin/scp some.gz a_java runtime工作目录
文章浏览阅读361次。1、引言很多人一想到IM应用开发,第一印象就是“长连接”、“socket”、“保活”、“协议”这些关键词,没错,这些确实是IM开发中肯定会涉及的技术范畴。但,当你真正开始编写第一行代码时,最现实的问题实际上是“聊天消息ID该怎么生成?”这个看似微不足道的小事情。说它看似微不足道,是因为在IM里它太平常了,处处可见它的身影。不过,虽然看似微不足道,但实际却很重要,因为它的生成算法和生成策略的..._相对于时间基点"2016-05-20"的增量值
文章浏览阅读246次。理论题802.11b 使用&发布最早 采用2.4GHz频带,传输速率能够根据应用环境以及其他传输因素从11Mbps自动降到5.5Mbps,或根据直接序列扩频技术调整到2Mbps和1Mbps,以保证设备正常稳定运行。802.11a 54Mbps802.11n 300Mbps802.11ac 1Gbps ..._#include #define strlen 100int fun(char s1[],char s2[]){ int i,
文章浏览阅读6.9k次,点赞13次,收藏40次。通过实验演示GCN的过平滑问题,并解释了一些解决方案。_过平滑问题
文章浏览阅读47次。HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 -未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 401.4 - 未授权:授权被筛选器拒绝 HTTP 401.5 - 未授权:ISAPI 或 CGI授权失败 HTTP 40...
文章浏览阅读590次。springboot的开发环境其实就是java的开发环境了,作者这章讲得一如既往的仔细和认真,生怕大家出错。在pom文件的讲解中,比较全面的讲解了它的作用和元素1.元素这里记录下,主要有dependenciesdependencyscope(以及scope的参数)properties:是自定义变量,这个后期会用到。plugin插件,打包时需要的重要信息。完整的pom..._springboot实战派第二章