标签: abstraction

向非程序员解释抽象

抽象是一个似乎难以解释的概念,而不回复使用编程术语.我已经考虑了很多,但我无法得出满意的答案.有没有人有任何非常一般但非常相关的解释?

隐喻,similes等都是受欢迎的.

abstraction programming-languages

12
推荐指数
3
解决办法
5585
查看次数

"数据抽象"究竟意味着什么?

数据抽象是指什么?请提供现实生活中的例子.

c++ database-abstraction abstraction

12
推荐指数
3
解决办法
4万
查看次数

C++中抽象类和纯抽象类有什么区别?

例:

迭代器是纯粹的抽象:任何行为类似于迭代器的东西都是迭代器.

这是什么意思?

c++ oop abstract-class abstraction

12
推荐指数
4
解决办法
1万
查看次数

最糟糕的抽象倒置

在今天的编程中你看到的最糟糕的(由于流行程度或严重程度)抽象反转的例子是什么?

对于那些不熟悉这个概念的人来说,抽象反转是在高级构造之上实现低级构造.更确切地说,假设你有构造A和B.B是在A之上实现的,但A不会在任何地方暴露.因此,如果你真的需要较低级别的构造A,那么当B首先用A实现时,你最终会在B之上实现A. 见http://en.wikipedia.org/wiki/Abstraction_inversion.

performance abstraction anti-patterns

11
推荐指数
1
解决办法
1860
查看次数

如何识别代码过度抽象?

应该用什么措施来识别代码是否过度抽象而且很难理解以及应该采取哪些措施来减少过度抽象?

abstraction

11
推荐指数
2
解决办法
4360
查看次数

接口(接口/抽象类)不是抽象?

最近,我一直在阅读有关接口是抽象的错误概念的帖子.其中一篇文章是http://blog.ploeh.dk/2010/12/02/InterfacesAreNotAbstractions.aspx

我有点困惑.如果我没有接口(接口/抽象类),那么我将如何注入我的依赖项并模拟它们?

另外,我听过人们谈论不使用只有一个实现者的接口.像这样的博客在这里- http://simpleprogrammer.com/2010/11/02/back-to-basics-what-is-an-interface/

现在所有这一切,它是否违反了原则 - 程序到接口而不是实现?

abstraction design-patterns interface

11
推荐指数
2
解决办法
459
查看次数

如何让函数[a] - > [a]对[(a,Int)]进行操作?

我发现自己经常按照模式编写代码:

foo xs = map snd $ filter ((< 10).fst) $ zip xs [0..]

bar ys = map snd $ sortBy (compare `on` fst) $ zip ys [0..]
Run Code Online (Sandbox Code Playgroud)

现在我想抽象出来

foo = indexesOf (filter (<10))

bar = indexesOf sort

indexesOf :: ([a] -> [a]) -> [a] -> [Int] 
indexesOf f xs = map snd $ magick $ zip xs [0..] where
    magick = undefined
Run Code Online (Sandbox Code Playgroud)

怎么magick办?

haskell abstraction

11
推荐指数
1
解决办法
485
查看次数

抽象解析对象?

我想在我的应用程序中使用Parse(parse.com).Parse使用PFObject模型.我想在我的代码中使用我自己的模型(因此它不依赖于解析).如果可能的话,我想设计我的应用程序,以便我可以尽可能无缝地用另一个云服务替换解析.

这是一个好主意吗?抽象模型存储的最佳方法是什么,以便我的应用程序中没有(或最小)Parse代码的痕迹?

也许使用适配器设计模式将解析对象映射到我自己的对象?这应该是一个独立的类还是模型逻辑的一部分?

如果有人尝试过这样的话,我想听听你的想法.我应该直接在我的代码中使用解析模型吗?或者也许是单件工厂根据解析对象生成我的模型?

任何提示/想法/评论?

parsing abstraction model ios

11
推荐指数
1
解决办法
852
查看次数

如何将抽象与 ViewBinding 与基本活动一起使用?

我正在制作一个基类,以便所有孩子的绑定都将设置在基类中

我已经做到了这一点

abstract class BaseActivity2<B : ViewBinding?, T : BaseViewModel?> : AppCompatActivity() {
    private var viewBinding: B? = null
    private var baseViewModel: T? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
}
Run Code Online (Sandbox Code Playgroud)

但我无法在 oncreat() 中绑定视图,通常我们将视图绑定中的布局绑定为

binding = ActivityLoginBinding.inflate(layoutInflater)
        setContentView(binding.root)
Run Code Online (Sandbox Code Playgroud)

但我正在寻找基本活动的通用方式

android abstraction generic-programming android-viewbinding

11
推荐指数
3
解决办法
3347
查看次数

如何限制我的客户使用课程中选择的方法?

假设我有1个完整的类,其中包含约20种提供不同功能的方法。

现在,我们有多个使用此类的客户端,但我们希望它们具有受限的访问权限。

例如-

客户端1-可以访问method1 / m3 / m5 / m7 / m9 / m11

客户端2-可以访问method2 / m4 / m6 / m8 / m10 / m12

有什么办法可以限制此访问权限?

我认为的一种解决方案:

创建2个扩展父类的新类,并覆盖无法访问的方法,并从中抛出Exception。但是,如果第3个客户端有不同的要求,我们必须为其创建新的子类。

还有其他方法吗?

java oop inheritance encapsulation abstraction

10
推荐指数
2
解决办法
267
查看次数