全部隐藏!

在较早的文章中 ,我写了以下几句话: 在面向对象的代码库中,该工具包应尽可能离散。 使用开发套件的次数越多,您的代码实际面向对象的次数就越少,或者您的抽象并不是最好的。

我认为有必要详细说明这一点,因为它很强,并且该文章并没有充分说明这一点。

汤姆和杰瑞–两位小印第安人,威廉·汉纳和约瑟夫·巴贝拉

我承认,这个想法很简单,尽管可能是理想主义的:在查看您的代码库时,我应该能够通过查看对象的实例化,观察它们如何构成和装饰每个实例来理解应用程序的功能和业务逻辑。其他。 就像我在另一篇文章中所说的那样,您应该将业务逻辑隐藏在清晰的视野中 。

基本上,这意味着我不需要为了了解您的程序应该在何时执行什么操作而去查看任何算法,Collection处理,任何类型的数据操作或对实用程序方法的调用。 所有这些细节都应分解为最小的部分,并隐藏在接口实现的背后。 换句话说,您的代码应尽可能具有声明性-请记住, 命名是最重要的方面之一。

不用说,这种方法需要大量的设计工作,尤其是在架构师方面:我相信架构师应该做的第一件事就是设计对象的接口 。 理想情况下,他/她应该交付一个仅包含Java接口的框架项目,并附带详细的JavaDocs来解释最终对象应如何协同工作,以及可能的一些替代实现想法。 然后,开发人员的工作就是提供实现并将所有内容放在一起,就像一个难题一样-我什至不提每个测试对象都应该完全覆盖每个对象。

缺点当然是,错误可能会花费更多的精力,可能花费在重新设计内容上。 另一方面,这样的应用程序将小得多,并且永远不会变成庞然大物。 只需简单地了解哪种方法适合哪里,您就不必问自己“我应该在哪里放置这种方法?” 或“我们是否应该在此服务中再添加一种方法? 它已经很大了。” 新的东西应该无缝地或完全不适合,在这种情况下,您可以考虑编写新的应用程序(是的,为什么不呢?)。

此外,添加功能应该意味着只需实现一个接口,并且只有在该接口之后,您才可以考虑使用开发工具–也许还没有,这取决于抽象的深度。 换一种说法,删除功能或逻辑应该意味着仅从某个位置删除对象的实例化或修饰,并且要注意,这不应在项目中留下任何未调用的方法。 最坏的情况是,您应该有一个未使用的

综上所述,以上所有内容听起来可能很奇怪,但是您应该这样想:您始终确保从业务逻辑中抽象出View和Persistence层; 为什么不更进一步,将JDK隐藏起来呢? 我知道,您永远不必更改它,但是很明显,在没有完全抽象和封装的情况下使用它会将代码变成半OOP事物,这种事物只会继续增长并变形。 最后,是的,让我们假设JDK(实际上更准确地说是Java SE)将消失:您构造的对象和测试将保持不变,您只需要使用手头的新工具包提供新的实现即可; 这就是OOP的全部意义!

翻译自: https://www.javacodegeeks.com/2019/06/hide-all.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

E1 PCM设备的主要特点介绍

E1 PCM设备是目前国内企业最常用的综合接入通信设备,它利用标准的E1数据传输通道,采用PCM制式,直接提供语音、数据、图像等多种用户接口。接下来飞畅科技的小编来为大家详细介绍下E1 PCM设备的主要特点,一起来看看吧! …

docker集群_使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署...

docker集群Docker非常适合在单个节点上运行隔离的容器。 但是,大多数软件系统都在多个节点上运行,因此,除了Docker之外,我们还需要某种方法来指定哪些容器应在哪些节点上运行。 我要解决的特定问题如下:我有两个Scala…

PCM信号是什么信号?

PCM信号是模拟信号呢,还是数字信号呢?当然是数字信号啦!PCM的完整定义是:将模拟信号的抽样量化值变换成代码称为脉冲编码调制(PCM设备)。 在光纤通信系统中,光纤中传输的是二进制光脉冲“0”码…

SDH光传输设备是什么?SDH设备特点介绍

SDH光传输设备是一种,将复接、线路传输以及交换功能融合为一体的、并且由统一网管系统操作的综合信息传送网络。SDH光传输设备,他可实现网络有效管理、能实时业务监控、能动态网络维护、不同厂商设备间的互通等多项功能。 SDH光传输设备能大大提高网络资…

SDH与PDH的区别介绍

PDH准同步数字系列,1-4次群2048K、8488K、34368K、139264K,有美国/日本标准和欧洲标准,我国沿用的是欧洲标准;30/32路组成一个1次群;各个厂家产品大多互相不兼容。 SDH同步数字系列,网元都带PDH接口&#…

什么是MSTP(多业务传输平台)?

Multi-Service Transfer Platform简称MSTP,他是基于SDH的多业务传送平台的,同时也实现TDM、ATM、以太网等业务的接入、处理和传送,提供统一网管的多业务节点。 当前通信时代随着不断增长的IP数据、话音、图像等多种业务传送需求扩展&#xf…

spring boot示例_Spring Boot上的Spring社交示例,或者我如何停止担心和喜欢自动配置...

spring boot示例对于Spring Boot 1.1.0.RC1,添加了自动配置和Spring Social的启动程序pom,这意味着我不必向pom添加一百个依赖关系,并且将为我处理许多毫无意义的Spring配置。 让我们来看一个例子。 我将实现一个两页的Web应用程序。 一个将…

安装虚拟机后,启动出错的解决办法

安装虚拟机后,启动出错,需要找到路径中的配置文件 使用记事本或其他应用打开 在vmci0.prensent值改为FALSE,才可以正常启动

什么是E1接口,E1的使用注意事项

欧洲的30路脉码调制PCM简称E1,速率是2.048Mbit/s 。 我国采用的是欧洲的E1标准。E1接口有G.703非平衡的75 ohm,平衡的120 ohm2种接口。接下来就由飞畅科技的小编来为大家详细介绍下使用E1的三种方法及注意事项,一起来看看吧&#…

Java序列化魔术方法及其示例使用

在上一篇文章中, 您需要了解有关Java序列化的所有知识 ,我们讨论了如何通过实现Java序列化来启用类的可序列化性。 Serializable接口。 如果我们的类未实现Serializable接口,或者该类具有对非Serializable类的引用,则JVM将抛出No…

针对新手的Java EE7和Maven项目-第2部分-为我们的应用程序定义一场简单的战争

从第一部分恢复 第1部分 我们刚刚定义了父 pom。 一种特殊的pom类型,它最终定义了我们的应用程序将要使用的库。 它还配置了所有用于包装我们应用程序每个模块的Maven工具。 您可以在此处 签出 -1部分示例代码。 因此,到目前为止,在将要开发…

电信级E1保护倒换设备产品介绍

1-8路E1倒换保护设备是由杭州飞畅科技有限公司自主研发生产的E1线路无损伤自动切换设备。本系列设备是本公司研制的专用超大规模集成电路的基础上开发的E1切换器。提供1-8路独立的E1倒换保护功能(816E1),在默认工作方式下,主用E1线路出现故障时&#xff…

电话光端机的电话业务不通问题,该怎么去检查?

我司的设备,电话光端机都是达到电信级别,通话声音是特别清晰的。如果电话光端机的电话杂音声过大可能是电话光端机的光口有误码引起的。 一般应该是光端机有误码引起的,产生误码的原因主要是光纤部分,因为一般设备一般发货前&…

java8 camel_Meet Fabric8:基于Camel和ActiveMQ的开源集成平台

java8 camel面料8 Fabric8是来自Red Hat的JBoss Fuse产品的Apache 2.0许可上游社区。 这是一个基于Apache ActiveMQ , Camel , CXF , Karaf , HawtIO等的集成平台。 它提供了自动化的配置和部署管理,以帮助使部署变得…

电话光端机的电话接口类型有哪些?

电话光端机常用的的电话接口类型有:环路中继接口(FXO)、模拟用户线接口(FXS)、热线电话接口(公务电话)、磁石电话接口。接下来,我们就跟随飞畅科技的小编来详细了解下电话光端机的电…

如何使用可外部化的接口在Java中自定义序列化

在上一篇文章“用示例介绍的有关Java序列化的一切”中 ,我解释了如何使用以下方法序列化/反序列化一个对象 Serializable接口,还说明了如何使用writeObject和readObject方法自定义序列化过程。 Java序列化过程的缺点 但是,这些定制还不够&a…

电话光端机使用什么光纤网络比较好?

电话光端机是一种将传统电话信号转换为光信号并通过光纤传输的设备,要使用电话光端机,必须首先具有光纤网络。那么电话光端机使用哪种纤维更好呢?接下来就让我们跟随飞畅科技的小编一起来看看吧! 如果电话光端机使用的光纤网络在…

电话光端机原理及作用分析

常用的光端机分为多种类型,例如电话光端机、网络光端机、音频光端机、视频光端机、串口光端机、PDH光端机等。通常,电话光端机是最常用的,并且它们也被广泛使用。今天,就由光端机专业厂家飞畅科技来为大家普及下电话光端机的原理及…

关于Jakarta EE与MicroProfile的创新和关系的提案

在JCrete非会议上,我们中的一些人正在就Jakarta EE的愿景,尤其是与MicroProfile的关系进行头脑风暴。 我想开始讨论,以使所有人都在同一页面上,尤其是Jakarta EE和MicroProfile之间的关系以及Jakarta的创新应如何。 我相信我们中的…

电话光端机作用,电话光端机功能特点介绍

电话光端机顾名思义其实也是一种光端机,但是他不仅仅只能传输电话的光端机。它的用户接口类型多样(包括语音、数据、图象),均以小型模块化部件方式装配到母板上,各种用户模块可以混合装配,方便扩容及维护。…