abstraction相关内容

Clojure 中的序列和集合有什么区别

我是一名 Java 程序员,我是 Clojure 的新手.从不同的地方,我看到序列和集合用于不同的情况.但是,我不知道它们之间的确切区别是什么. 举几个例子: 1) 在 Clojure 的 Sequence 文档中: Seq 接口(第一个)返回集合中的第一项.根据其参数调用 seq.如果 coll 为 nil,则返回 nil.(休息科尔)返回第一个之后的项目序列.根据其参数调用 se ..
发布时间:2021-11-26 17:22:33 其他开发

包装 DbSet使用自定义 DbSet/IDbSet?

首先,我认为这样做有点荒谬,但我团队的其他成员坚持这样做,除了“我认为这很愚蠢"之外,我无法提出一个好的论据...... 我们要做的是创建一个完全抽象的数据层,然后对该数据层进行各种实现.够简单了吧?进入实体框架 4.1... 我们的最终目标是程序员(我尽力只停留在数据层)永远不想接触具体的类.除了明显需要实例化工厂之外,他们只想在他们的代码中使用接口. 我想实现如下目标: 首 ..

泄漏抽象的含义?

术语“泄漏抽象"是什么意思?(请举例说明.我经常很难理解单纯的理论.) 解决方案 这里有一个 meatspace 示例: 汽车有司机的抽象.最纯粹的形式是方向盘、油门和刹车.这种抽象隐藏了很多引擎盖下的细节:发动机、凸轮、正时皮带、火花塞、散热器等. 这个抽象的巧妙之处在于,我们可以用改进的部分替换部分实现,而无需重新培训用户.假设我们用电子点火替换了分配器盖,我们用可变凸轮替 ..

抽象和封装有什么区别?

在采访中,我被要求解释抽象和封装之间的区别.我的回答是 抽象使我们能够以最简单的方式表示复杂的现实世界.它是识别对象应具有的相关品质和行为的过程;换句话说,在不表示背景细节的情况下表示必要的特征. 封装是一种将对象的所有内部细节从外部现实世界中隐藏起来的过程.“封装"这个词,就像“封装"成“胶囊"一样.它限制客户看到其实现抽象行为的内部视图. 我觉得上面的回答让面试官信服了,但后 ..
发布时间:2021-11-26 17:22:02 其他开发

多少抽象是太多?

在面向对象的程序中:多少抽象是太多了?多少才合适? 我一直是个彻头彻尾的人.我理解高层次封装和抽象背后的概念,但总是本能地觉得添加太多只会混淆程序. 我总是试图拍摄大量的抽象,不会留下空的类或层.在有疑问的地方,我不会向层次结构添加新层,而是尝试将某些内容放入现有层中. 然而,最近我遇到了更多高度抽象的系统.在层次结构中可能需要表示的所有系统都预先得到一个表示的系统.这会导致很多 ..
发布时间:2021-11-26 17:21:51 其他开发

java中的抽象与抽象

我是一名 java 开发人员,对面向对象的概念有很好的理解(或者,我认为是这样的).现在我正在学习设计模式(从头开始设计模式).我一直在阅读有关 OOPS 概念抽象的内容以简要了解它,阅读更多有关它的内容使我比之前更加困惑. 据我所知,抽象是指隐藏程序的内部细节,同时将接口暴露给其他程序员,而不用担心内部细节.但是,我不明白 抽象类如何适应这种抽象概念,其中抽象类要求我实现抽象方法,在 ..
发布时间:2021-11-26 17:21:41 Java开发

为什么数字不支持.dup?

>>一 = 5=>5>>b = "你好,世界!"=>“你好,世界!">>b.dup=>“你好,世界!">>a.dup类型错误:无法复制 Fixnum来自 (irb):4:in `dup'来自 (irb):4 我知道每次为新变量分配一个整数时,Ruby 都会创建一个副本,但是为什么 Numeric#dup 会引发错误? 这不会破坏抽象,因为所有对象都应该正确响应 .dup 吗? 重写 ..
发布时间:2021-11-26 17:21:34 其他开发

抽象私有函数

以下代码会让 PHP 不满意 customMethod() 是私有的.为什么会这样?可见性是否由声明而不是定义的位置决定? 如果我想让 customMethod 仅对 Template 类中的样板代码可见并防止它被覆盖,我是否可以将其设为 protected 和 final? 模板.php: 抽象类模板(){抽象私有函数 customMethod();公共函数 commonMetho ..
发布时间:2021-11-26 17:21:24 PHP

System.Web.Abstractions:它有什么用?

...完全没有? 它分别为 ASP.NET WebForms 和 ASP.NET MVC 填补了哪一部分难题? 您能否以某种方式创建一个使用 System.Web.Abstractions 的 ASP.NET * 基础应用程序,以便它可以在两种 ASP.NET 网络应用程序中使用? 在那种情况下,他们是如何将 System.Web.Abstractions 中的类改回 ASP.N ..
发布时间:2021-11-26 17:21:12 C#/.NET

为什么抽象方法不能同步?

我正在阅读来自 CodeRanch 的 线程 说抽象方法不能同步,因为抽象类不能被实例化,意味着没有对象要锁定. 这没有意义,因为抽象类是子类的定义(契约).同步方法的抽象定义不需要锁定,孩子需要.所有抽象标题都表明子进程必须同步这个方法.我的逻辑是否正确?如果不是,有人可以解释为什么我错了吗? 解决方案 关于无法实例化抽象类的评论是垃圾.考虑到它必须是抽象的实例方法,因此肯定 可以 ..
发布时间:2021-11-26 17:21:04 Java开发

为什么 Haskell 缺少“显而易见的"?类型类

考虑面向对象的语言: 大多数具有面向对象编程背景的人都熟悉各种语言中常见且直观的界面,这些界面捕捉了 Java 的精髓 Collection &List 接口.Collection 是指不一定具有自然排序/索引的对象集合.List 是一个具有自然排序/索引的集合.这些接口抽象了 Java 中的许多库数据结构,它们在其他语言中的等效接口也是如此,并且需要深入了解这些接口才能有效地处理大多数库数 ..
发布时间:2021-11-26 17:20:54 其他开发

命令模式似乎不必要地复杂(我有什么不明白的?)

我已经阅读了命令模式,我想我遗漏了一些东西.Command 对象的存在是为了抽象出 Receiver 对象的细节.在我看来,我们可以简单地停在这里,并持有对 Command 对象的引用,以便在适当的时间执行适当的方法. 那么,为什么需要调用者?这个额外的间接提供什么好处?我们已经将 Receiver 的细节隐藏在 Command 背后,那么 Command 对客户端隐藏的动机是什么? ..

CommonJS 中的“承诺"抽象有什么好处?

我正在阅读 这篇文章和关于promise抽象的部分对我来说似乎有点过于复杂.以以下为例: requestSomeData("http://example.com/foo")//返回响应的承诺.then(function(response){//‘then’用于提供一个promise处理程序返回 JSON.parse(response.body);//解析身体})//为解析的主体返回一个promi ..
发布时间:2021-11-26 17:20:23 前端开发

桥接模式是否将抽象与实现分离?

我从不同的文章中学习了桥接模式,并根据我的理解实现了它.让我困惑的一件事是桥接模式说 BridgePattern 将抽象与其实现分离,以便两者可以独立变化 这句话是什么意思?实现是否驻留在单独的 jar 中? 不同的独立声明是什么意思? 考虑提供的 journaldev 文章,详细说明回答. 非常感谢任何帮助. 解决方案 BridgePattern 将抽象与其 ..
发布时间:2021-11-26 17:20:11 Java开发

编译与转译

在搜索差异时,我发现了以下定义: 编译是将用一种语言编写的源代码转换为另一种语言的通用术语. 转译是一个特定术语,用于将用一种语言编写的源代码转换为另一种具有相似抽象级别的语言. 我理解抽象是什么. 但是在上面的定义中“类似的抽象级别"是什么意思?我们如何找到语言的抽象级别? 解决方案 您在上面引用的定义过于笼统,初学者无法完全理解,所以让我将其简化为我们实际看到的 ..
发布时间:2021-11-26 17:20:02 其他开发

在抽象类中使用泛型

我正在开发一个抽象类,其中实现类需要实现 T 的列表.问题是这不起作用: 公共类抽象类{公共 int Id { 获取;放;}公共 int 名称 { 获取;放;}公共摘要列表项目{得到;放;}}公共类容器:抽象类{公共列表项目{得到;放;}} 我确定我缺少一个明显的答案,并且我知道我可以构建一个抽象基类型以放入列表,但是当我使用 Linq 命令构建列表时,抽象type (Item ..
发布时间:2021-11-26 17:19:54 C#/.NET

为什么我应该使用人类可读的文件格式?

为什么我应该优先使用人类可读的文件格式而不是二进制格式?有没有出现过不是这种情况的情况? 编辑:我在最初发布问题时确实有这个解释,但现在不那么相关了: 在回答这个问题时,我想向提问者推荐一个关于为什么使用人类可读文件的标准 SO 答案格式是个好主意.然后我找了一个,没有找到.那么问题来了 解决方案 视情况而定 正确的答案是视情况而定.例如,如果您正在编写音频/视频数据,如 ..
发布时间:2021-11-26 17:19:44 其他开发

我应该什么时候返回接口,什么时候返回具体类?

在用 Java 编程时,我几乎总是出于习惯,写这样的东西: public List富(){返回新的 ArrayList();} 大多数时候甚至没有考虑过.现在,问题是:我应该总是指定接口作为返回类型吗?还是建议使用接口的实际实现,如果是,在什么情况下? 很明显,使用界面有很多优点(这就是它存在的原因).在大多数情况下,库函数使用什么具体实现并不重要.但也许在某些情况下它确实很重要.例如, ..
发布时间:2021-11-26 17:19:36 Java开发

间接级别解决所有问题

在计算机科学中引用“间接层次解决所有问题"是什么意思? 解决方案 一般来说,这意味着通过提高抽象级别可以使问题更容易理解/解决. 但是要小心你的抽象,至少我听到的完整引述是,“你可以用另一个间接级别解决所有问题,除了太多间接级别的问题". ..
发布时间:2021-11-26 17:19:26 其他开发