- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试获得依赖倒置,或者至少了解如何应用它,但我目前遇到的问题是如何处理普遍存在的依赖关系。典型的例子是跟踪日志记录,但在我的应用程序中,我有许多服务,如果不是所有代码,大多数代码都将依赖这些服务(跟踪日志记录、字符串操作、用户消息日志记录等)。
没有一个解决方案看起来特别可口:
有没有人对如何构建这些类型的依赖关系有任何其他建议,或者是否有任何上述解决方案的经验?
请注意,我并没有考虑特定的 DI 框架,事实上我们正在用 C++ 编程,并且会手动进行任何注入(inject)(如果确实注入(inject)了依赖项)。
最佳答案
Service locator pattern just drives the dependencies underground, Singleton services are, well, Singletons, and also serve to hide the dependencies
这是一个很好的观察。隐藏依赖项不会删除它们。相反,您应该解决一个类需要的依赖项的数量。
Using constructor dependency injection would mean that most of the constructors would have several, many, standard injected dependencies because most classes explicitly require those dependencies
如果是这种情况,您可能违反了 Single Responsibility Principle .换句话说,这些类可能太大而且做的事情太多。既然你在谈论日志记录和跟踪,你应该问问自己是否aren't logging too much .但一般来说,日志记录和跟踪是横切关注点,您不应该将它们添加到系统中的许多类中。如果您正确应用 SOLID原则,这个问题就消失了(如 here 所解释的)。
关于c++ - 依赖倒置和普遍依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057127/
这个问题在这里已经有了答案: Invert rounded corner in CSS? (11 个答案) 关闭 8 年前。 当我想到为我的链接制作标签(或标签)时,我正在处理我网站的 CSS。我在
我是 Flutter 的新手,我正在尝试编写一个库来允许用户平移/缩放他们的个人资料图片。 为了使其视觉化,我想用“倒置”的 ClipOval 堆叠他们的图片,以显示边界。 到目前为止,这是我得到的结
我正在为我的一个应用程序使用具有垂直滚动方向的 Collection View 。在这里,我想让我的 Collection View 在不使用任何 CGAffine 变换的情况下倒置显示。是否可以在
我正在构建一个应用程序,我需要在其中从自定义相机拍摄照片并且 View 是倒置或旋转的(当我上下移动它时,图片会横向移动)。 知道为什么会这样以及如何解决这个问题吗? 这是相机的代码: class P
我在 Bootstrap 中使用轮播,我的一些图片是颠倒的。我在我的图片配置中搜索,之前我尝试将它们颠倒过来但没有结果。你知道这个类或javascript函数吗?非常感谢。 标记 最佳答案 如我的
我是 Canvas 的新手,想知道: 使用倒笛卡尔坐标系的基本原理。 比如说,我需要在直方图中绘制一些值。是一种将 Canvas 框架旋转/映射到笛卡尔坐标系的简单方法。? 最佳答案 Canvas 是
在jsp中实现如图所示的金字塔, 代码如下: 大致思路如下: 1、先画出前5行。因为 i+空格数=总行数,所以第一行的空格数是 总行数-i(第几行),然后画出 *,*的数目=2*i-11;
使用 xcode 6.3.2 中的自动布局功能,我能够为 iPad 和 iPhone 调整我的 View 、按钮和文本字段。但是对于颠倒我的观点并没有改变,任何想法我们如何使用自动布局支持颠倒模式而不
继http://stackoverflow.com/questions/18766430/how-can-i-do-d3-svg-arc-within-a-given-map-projection之后
我在 Xcode 中使用 C++ 进行编程,我试图打印出一个数组,但所有打印出来的都是“\377”和一个颠倒的“?”在它的末尾。这是什么意思? 最佳答案 您可能以 UTF-16 生成了您在 Windo
我正在尝试用白色而不是黑色绘制标准 NSImage。下面的代码在当前 NSGraphicsContext 中以黑色绘制图像时效果很好: NSImage* image = [NSImage imageN
我正在学习p5 js并尝试制作一个简单的2d蛇游戏,但是当我按键盘上的向上箭头时,矩形(蛇仍然不存在)向下移动,当我按向下箭头时,它移动向上 function keyPressed() { if (k
我正在做的是通过 CIDetector 检测面部,我的图像来自 UIImagePickerController(从后置摄像头捕获图像)。我可以检测到人脸..但我的问题是我的人脸图像倒置(从上到下)。这
在 iOS8 设备或 iOS8 模拟器上: 我有一个成为第一响应者的 UITextView。一切正常,直到应用退出事件状态(通过按下主页键)。 应用程序再次激活后,键盘的外观发生了变化 - 参见图片
我是一名优秀的程序员,十分优秀!