草庐IT

abstraction

全部标签

c++ - 我应该为我的不透明对象使用整数 ID 还是指针?

我正在一些图形API(DirectX9和DirectX11)之上编写一个抽象层,我想听听您的意见。传统上,我会为每个要抽象的概念创建一个基类。因此,在典型的OO方式中,我会有一个Shader类和2个子类DX9Shader和DX11Shader。我会重复纹理等的过程...当我需要实例化它们时,我有一个抽象工厂,它将根据当前的图形API返回适当的子类。在RAII之后,返回的指针将被封装在std::shared_ptr中。到目前为止一切顺利,但就我而言,这种方法存在一些问题:我需要想出一个公共(public)接口(interface)来封装这两个API(以及future其他API)的功能。派

SoA/AoS 内存布局的 C++ 零成本抽象

假设我有一个使用结构数组(AoS)内存布局的大代码。我想用C++构建一个零成本的抽象,它允许我以尽可能少的重构工作在AoS和SoA之间切换。例如,使用具有访问成员函数的类structItem{auto&myDouble(){returnmDouble;}auto&myChar(){returnmChar;}auto&myString(){returnmString;}private:doublemDouble;charmChar;std::stringmString;};在容器内循环使用std::vectorvec_(1000);for(auto&i:vec_)i.myDouble()

java - 给构造函数命名有什么意义

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion多年来,我一直在使用C++和Java。我似乎无法理解的一件事是,为什么我们需要为类的构造函数提供名称?例如,如果我必须在C++/Java中定义一个类FOO,我将被迫提供FOO作为构造函数名称。但是,由于从未显式调用构造函数,编译器强制我为它提供一个名称到底有什么意义。抽象范式要求我们向程序员隐藏不必要的细节。这就是构造函数没有返回类型的原因,因为它已经明确定义了构造函数必须返回的内容。本着同样

【论文解读】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection

PV-RCNN摘要引言方法3DVoxelCNNforEfficientFeatureEncodingandProposalGenerationVoxel-to-keypointSceneEncodingviaVoxelSetAbstractionKeypoint-to-gridRoIFeatureAbstractionforProposalRefinement实验结论摘要我们提出了一种新的高性能3D对象检测框架,称为PointVoxelRCNN(PV-RCNN),用于从点云中精确检测3D对象。我们提出的方法深度集成了三维体素卷积神经网络(CNN)和基于PointNet的集合抽象,以学习更具判别

android - aSmack 错误 : XMPPConnection is abstract; cannot be instantiated

我正在按照教程使用AndroidStudio制作一个非常基本的聊天应用程序,但出现错误:Error:(131,45)error:XMPPConnectionisabstract;cannotbeinstantiated在以下行:ConnectionConfigurationconnConfig=newConnectionConfiguration(HOST,PORT,SERVICE);XMPPConnectionconnection=newXMPPConnection(connConfig);而且我在尝试使用XMPPConnection元素时也遇到了一些“未处理的异常”。同时链接到教程

Android RecyclerView : Abstract method not implemented

滑动以从Recyclerview中删除项目时应用程序崩溃。错误日志如下。它以前工作现在更新到com.android.support:recyclerview-v7:23.1.0和recyclerview-animators-1.2.2.jar。现在它崩溃了,请帮助我。提前致谢。FATALEXCEPTION:mainProcess:com.timecard,PID:2876java.lang.AbstractMethodError:abstractmethodnotimplementedatandroid.support.v7.widget.RecyclerView$ItemAnimat

java - 错误 : "class must implement abstract method X", 但它已经发生了

我有这个抽象父类(superclass):publicabstractclassMediaListActivityextendsActivity{...abstractvoidlaunchMedia(MediaFilemediaFile);}和具体的子类:publicclassVideoListActivityextendsMediaListActivity{...voidlaunchMedia(MediaFilemediaFile){//TODO:implementlaunchMedia()}}在VideoListActivity子类的第一行,AndroidStudio报错Class

android - 为 Android 应用程序使用 ORM 是个好主意吗?

使用像这样的ORM(对象关系映射器)是个好主意吗:ORMLite活跃的安卓适用于Android应用。该技术添加的抽象层本身具有计算和内存开销。因为,这些资源和电池生命周期大多非常有限,我会认为“不”,但另一方面它使代码更简洁,因为几乎不需要编写原始查询。优点和缺点是什么?推荐什么?如果推荐,我应该使用哪个? 最佳答案 截至2017年5月18日,Google推出了Room在I/O'17上作为原始SQLite查询的替代品。所以,至少这个ORM现在是官方推荐的。 关于android-为Andr

android - 在 Android 应用程序中抽象 Realm 的正确方法

我正在Android应用程序中试用Realm.io,不过,为了安全起见,我想抽象DB层,以便在需要时可以切换回基于SQLite的标准无需重写大部分应用程序的数据库。然而,由于Realm的特殊性质,我发现很难正确抽象它:当绑定(bind)到一个Realm时,RealmObjects是代理,所以我不能像POJO一样传递它们。所有Realm实例都需要在使用它们的每个线程中正确打开和关闭。我已经使用最近的Realm.copyFromRealm()API而不是传递与Realm绑定(bind)的RealmObjects来绕过这些限制,但我认为这样我就失去了使用realm的所有好处(是吗?).有什么

android - 数据绑定(bind) : How to use BaseActivity/How to use Abstraction

我正在尝试将DataBinding添加到我的应用程序中。在我的应用程序中,我有一个BaseActivity,它有一个工具栏和一个FrameLayout。FrameLayout是扩展BaseActivity的Activity的容器。如何向我的BaseActivity和扩展Activity添加数据绑定(bind)?我将在没有DataBinding的情况下共享我的代码:这是我的BaseActivity.java:publicclassBaseActivityextendsAppCompatActivity{@OverridepublicvoidsetContentView(@LayoutRe