相关疑难解决方法(0)

Liskov替代原则的例子是什么?

我听说Liskov替换原则(LSP)是面向对象设计的基本原则.它是什么以及它的使用例子是什么?

oop liskov-substitution-principle definition design-principles solid-principles

845
推荐指数
24
解决办法
29万
查看次数

OSGi解决了什么?

我已经在维基百科和其他网站上阅读过关于OSGi的内容,但我并没有真正看到全局.它说它是一个基于组件的平台,您可以在运行时重新加载模块.另外,给出的"实际示例"是Eclipse插件框架.

我的问题是:

  1. OSGi的清晰简单定义是什么?

  2. 它解决了哪些常见问题?

"常见问题"我指的是我们每天面临的问题,例如"OSGi可以做些什么来提高我们的工作效率/乐趣/简单?"

java components osgi

273
推荐指数
10
解决办法
7万
查看次数

170
推荐指数
8
解决办法
7万
查看次数

单一责任原则的例子是什么?

有人能给我一个单一责任原则的例子吗?我试图理解,在实践中,一个班级有一个单一的责任,因为我担心我可能每天都违反这条规则.

oop single-responsibility-principle definition design-principles solid-principles

34
推荐指数
2
解决办法
3万
查看次数

接口隔离原理 - 编程到接口

我正在阅读有关SOLID和其他设计原则的内容.我认为ISP与"程序接口,而非实现"相同.但看起来这些是不同的原则?

有区别吗?

oop design-patterns solid-principles interface-segregation-principle

21
推荐指数
3
解决办法
5744
查看次数

开放/封闭原则是个好主意吗?

这个问题不是关于OCP是什么.我也不是在寻找简单的答案.

所以,这就是我问这个的原因.OCP最初是在80年代后期描述的.它反映了当时的思想和背景.令人担忧的是,在代码已经过测试并投入生产之后,更改源代码以添加或修改功能将最终变得风险太大且成本高昂.因此,我们的想法是尽可能避免更改现有的源文件,并且只以子类(扩展)的形式添加到代码库中.

我可能错了,但我的印象是基于网络的版本控制系统(VCS)当时并未广泛使用.关键是VCS对于管理源代码更改至关重要.

重构的想法是最近的.那些支持自动重构操作的复杂IDE当然不存在.即使在今天,许多开发人员也没有使用最好的重构工具.这里的要点是,这样的现代工具允许开发人员在几秒钟内安全地改变数千行代码.

最后,今天,自动化开发人员测试(单元/集成测试)的想法很普遍.有许多免费和复杂的工具支持它.但是,如果我们从不/很少更改现有代码,那么创建和维护大型自动化测试套件有什么用?正如OCP所要求的那样,新代码只需要新的测试.

那么,OCP今天真的有意义吗?我不这么认为.相反,如果新功能不需要新类,我确实更愿意在添加新功能时更改现有代码.这样做可以使代码库更简单,更小,更易于阅读和理解.破坏以前功能的风险将通过VCS,重构工具和自动化测试套件进行管理.

open-closed-principle

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

插件架构

我正在尝试了解插件架构。特别是在 Windows Live Writer 的实现中使用的那个。我指的是您可以通过添加/删除 DLL(+ 配置)来配置/启用/禁用/添加/删除附加功能的样式。

我希望在基于 Web 的应用程序中看到类似的东西。任何人都可以指出我正确的方向吗?

提前致谢。

-SK

c# asp.net

5
推荐指数
1
解决办法
1732
查看次数

在 Java 应用程序中实现插件?

有没有一种方法可以在一个简单的 Java 应用程序中实现插件,可以在需要时启动并且有很好的文档记录?

我正在寻找的是类似于 OSGI、JPF 和 JSPF 的东西。但是,OSGI 很复杂,JPF 没有很好的文档记录,而且 JSPF 不允许您仅在需要时才启动插件。

例如,有一个插件文件夹。任何人都可以通过实现我提供的接口来创建插件。创建插件后,任何想要使用它的人只需将其放入我的应用程序的 plugins 文件夹中,应用程序就会加载它。

或者,更好的词是“附加组件”。

有一些与我的问题类似的问题,但我想知道更多。这些问题都有模糊的答案。

http://stackoverflow.com/questions/2369499/how-to-make-java-plugins?rq=1
http://stackoverflow.com/questions/7587318/how-can-i-write-my-own-plugin-in-java
Run Code Online (Sandbox Code Playgroud)

如果您不知道,请告诉我如何在我的应用程序中使用 JPF。非常感谢您花时间阅读本文。

编辑:我已经解决了我的问题。我现在正在使用 JSPF - 它非常适合我的目的。感谢所有试图提供帮助的人,我为没有提出“真正的问题”而道歉。

java plugins

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