一个肉夹馍思考的零耦合设计

       刷抖音听说知识付费是普通人的一个收入增长点,写了三十几篇文章一毛钱没赚,感觉有点沮丧。天上下着小雨雨,稀稀嗦嗦的,由于了很久还是买了一个🤨。

4b210cd3ebc14b18898774061be580ce.jpg

 忽然觉得生活有点悲催,现在已经变得斤斤计较,有点市侩了。继而是无聊,写篇文章。

         Java中可不可以类直接零耦合呢?最终发现一个方法可以实现。我们来模拟五一的一次度假旅游。最初的计划是从美国坐飞机去西安happy,代码如下:

package feiJi;

import java.util.*;

public class Flying {
  public Flying() {}

  private String startCity = "americ";
  private String endCity = "Xi'An";

  public void huaXiang() {
    Globle.staticFlying = this;
    System.out.println("Hai,begin repare…");
  }

  private void flying() {
    System.out.println("开始起飞起始站:" + startCity);
  }

  private void arrived() {
    System.out.println("到达站点:" + endCity);
  }

  public void setStartCity(String cityName) {
    this.startCity = cityName;
  }

  public void setEndCity(String cityName) {
    this.endCity = cityName;
  }

  public void happy() {
    flying();
    arrived();
  }
}
在主方法中调用如下:

import java.util.*;
import feiJi.*;

public class Main {
  private static HeiBox heiBox;

  public static void main(String[] args) {
    System.out.println("开始测试");
    Flying flying = new Flying();
    flying.huaXiang();
    if (HeiBox.flying == null) {
      try {
        Class.forName("feiJi.exWorld.MyHeiBoxMei").newInstance();
      } catch (Exception e) {
        flying.happy();
      } finally {
      }
    }
  }
}
运行结果如下图,一切都是最初设想。

c67b309b24cf4013ac024fa38a45fd73.jpg

 在期中预留一个类将系统本身的部分类引出去,如果没有其它类引用,系统正常运行,这种预留没有任何影响。代码如下:

package feiJi;

import java.util.*;

public class HeiBox {
  public static Flying flying;
}
忽然有一天,系统正常运行着,你在某个位置随手写了一个类放到某个位置。你会惊奇的发现,航线变了。

f36e469977c740cba5aaf201fb6d582c.jpg

 是不是挺意外的,其实并不复杂,只是常规的多态。代码如下:

package feiJi.exWorld;

import java.util.*;
import feiJi.*;
public class MyHeiBox extends HeiBox {
  public static Flying flying;

  public MyHeiBox() {
    flying = Globle.staticFlying;
    flying.setStartCity("americ");
    flying.setEndCity("洛阳");
    flying.happy();
    System.out.println("现在相当于新的飞行员了,路线可以自由驾驶。");
  }
}
这可以作为一种将系统扩展转移给另外一部分人的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/594567.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

新手必看!场外个股期权的权利金估算公式

场外个股期权的权利金估算公式 场外个股期权的权利金估算公式通常涉及多个因素,这些因素共同决定了权利金的具体数额。虽然具体的估算公式可能因不同的交易平台、交易规则和标的资产而有所差异,但一般来说,权利金的计算会考虑以下几个关键要…

天软特色因子看板 (2024.4 第8期)

该因子看板跟踪天软特色因子A05005(近一月单笔流出金额占比(%),该因子为近一月单笔流出金额占比(% 均值因子,用以刻画下跌时的 单成交中可能存在的抄底现象 今日为该因子跟踪第8期,跟踪其在SW801080 (申万电子) 中的表现,要点如下…

Java 对象创建过程十步法!你get到了吗?

Java 中对象的创建过程可以概括为十个步骤,从类加载到实例化对象。 下面详细讲解一下每个步骤: 1. 类加载: Java 虚拟机在加载类时,会检查类的字节码,并将其加载到内存中。类加载的过程包括加载、连接(验…

Amine-PEG-Amine,956496-54-1在生物成像、生物传感器等领域具有广泛的应用

【试剂详情】 英文名称 Amine-PEG-Amine,NH2-PEG-NH2 中文名称 氨基-聚乙二醇-氨基,氨基PEG氨基, 双端氨基聚乙二醇 CAS号 956496-54-1 外观性状 由分子量决定,液体或者固体 分子量 0.4k,0.6k,1k&…

【JAVA |开篇】JAVA入门及JDK环境配置

目录 一、JIAVA语言 二、Java开发环境安装 三、初识Java的main方法 四、注释 一、JIAVA语言 Java 是一种优秀的程序设计语言 ,它具有令人赏心悦目的语法和易于理解的语义 Write once, Run anywhere(这句话体现了JAVA语言的核心,一次运行 任…

Vue从入门到精通-14-Vue组件

子组件的定义和注册 我们在本文的第一段中,通过Vue.component形式定义的是全局组件。这一段中,我们来讲一下子组件。 在父组件中定义子组件 比如说,一个账号模块是父组件,里面分为登陆模块和注册模块,这两个晓得模块…

ubuntu中的docker记录(3)——如何安装nvidia-docker以更好地支持GPU加速计算应用程序的运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、nvidia-docker2的安装1. 安装docker2. 安装nvidia-docker2(1) 添加密钥(2) 更新软件列表(3) 安装nvidia-docker2(4) 测试nvidia-docker2 二、可能的报错及解…

专家解读 | NIST网络安全框架(1):框架概览

随 着信息技术的快速发展,组织面临着越来越严峻的网络安全挑战。NIST网络安全框架(NIST Cybersecurity Framework,CSF)是一个灵活的综合性指南,旨在协助各类组织建立、改进和管理网络安全策略,以加强网络安…

leetCode81. 搜索旋转排序数组 II

leetCode81. 搜索旋转排序数组 II 题目思路 可以二分后的具体思路见我的上篇博客 搜索旋转排序数组 代码 class Solution { public:bool search(vector<int>& nums, int target) {if(nums.empty()) return false;int R nums.size() - 1;while(R > 0 &&…

LLMs:《Better Faster Large Language Models via Multi-token Prediction》翻译与解读

LLMs&#xff1a;《Better & Faster Large Language Models via Multi-token Prediction》翻译与解读 目录 《Better & Faster Large Language Models via Multi-token Prediction》翻译与解读 Abstract 2、Method方法 Memory-efficient implementation 高效内存实…

LabVIEW数据库访问技术

LabVIEW数据库访问技术 在当前的信息化时代&#xff0c;数据管理与分析在各个领域中起着重要的作用。特别是在工业、科研等领域&#xff0c;对于数据的快速准确获取、处理和分析需求日益增加。LabVIEW作为一种图形化编程语言&#xff0c;以其直观、高效的特点&#xff0c;在自…

【数据分析】这些年我发过的微信朋友圈

TencentRecordAnalysisV1.0.3.zip 蓝奏云&#xff1a;链接:链接TencentRecordAnalysis (lanzoub.com)密码:9hww 朋友圈还是以本行业岩土、工作相关的内容居多。 对于一个不怎么发圈的人来说&#xff0c;这几天有点反常&#xff0c;这几天大概是我成功的开发了几个失败的GPT应用…

打造亚马逊爆款秘诀:流量、排名与自养号测评的完美结合

亚马逊是一个产品为王的平台&#xff0c;只要我们的产品好&#xff0c;就会有更多的流量&#xff0c;有流量还怕我们的产品卖不出去&#xff1f;身为新手我们店无流量该怎么办&#xff0c;今天教给你们五个获取流量的方法。 1.自然检索 那是我们常说的自然流量&#xff0c;通…

DBCHM 数据库 CHM 文档生成工具

介绍 DBCHM 是一款数据库文档生成工具&#xff01; 该工具从最初支持chm文档格式开始&#xff0c;通过开源&#xff0c;集思广益&#xff0c;不断改进&#xff0c;又陆续支持word、excel、pdf、html、xml、markdown等文档格式的导出。 支持的数据库 SqlServerMySQLOraclePos…

拥抱新质生产力,助力新型工业化!CMM电子展暨IARS机器人展5月东莞盛大起航

2024年5月15-17日&#xff0c;东浩兰生会展集团旗下CMM电子展&#xff06;IARS机器人展将在广东现代国际展览中心&#xff08;东莞厚街&#xff09;举办。展会面积达50000平方米&#xff0c;展示品牌700余个&#xff0c;同期论坛峰会30余场&#xff0c;预计专业观众超50000人次…

肆拾玖坊商业模式分析,新品牌如何采用合伙人模式起盘

坐标&#xff1a;厦门&#xff0c;我是易创客运营肖琳 深耕社交新零售行业10年&#xff0c;主要提供新零售系统工具及顶层商业模式设计、全案策划运营陪跑等。 比茅台盈利模式还牛逼的肆拾玖坊&#xff0c;所有男人都逃不出它的圈套&#xff01;只靠49个男人&#xff0c;用一套…

软考信息系统项目管理师论文突然单独考,其实影响没有想象的大

五一假期的前一天&#xff0c;辽宁省软考办发布了一则通知&#xff0c;安排了辽宁省的软考批次安排&#xff0c;从标题看不出来有用的信息&#xff0c;但是干货是埋在正文中的。我先把辽宁软考办的全文给你附上如下&#xff0c;具体的解读后面我会一一道来。 敲重点来了&#x…

笔记13-OSError: [Errno 24] Too many open files

文章目录 参考文献失败尝试系列查看发现&#xff0c;似乎是因为线程数有限制 修改配置先查查看 增加文件数限制&#xff0c;然后使用命令运行&#xff08;成功&#xff09; 参考文献 Linux 最大可以打开多少文件描述符&#xff1f; OSError: [Errno 24] Too many open files错…

解决在C#中方向键对控件焦点的控制

不要犹豫直接把下面这个程序复制进去就好了&#xff0c;不用担心0个引用&#xff0c;哈哈&#xff0c;可以的 public partial class MainForm : Form {public MainForm(){InitializeComponent();}protected override bool ProcessDialogKey(Keys keyData){// 检查是否是方向键…
最新文章