维基百科以这种方式描述单一责任原则:
单一责任原则规定每个对象应该只有一个责任,并且该责任应该由类完全封装.其所有服务应与该责任严格一致.
MVC中控制器的传统使用似乎导致程序员违反了这一原则.拿一个简单的留言簿控制器和视图.控制器可能有两个方法/操作:1)Index()和2)Submit().Index()显示表单.Submit()处理它.这两种方法是否代表两种不同的责任?如果是这样,单一责任如何进入?
model-view-controller single-responsibility-principle solid-principles
我创建了一个Java应用程序,我想在Windows,OSX和Linux上分发而不分发jar文件.我使用了很棒的Windows exe包装器http://launch4j.sourceforge.net/来创建一个带有我的图标的.exe文件,它不会吓到Windows用户.
是否有类似的包装器,我可以用于OSX/Unix?一个重要的考虑因素是我希望在可执行文件上有自己的图标(特别是对于mac用户).
谢谢!
尝试获取对工作表的引用(使用Excel interop):
Excel.Application xl = new Excel.ApplicationClass();
Excel.Workbooks xlWorkBooks = xl.Workbooks;
Excel.Workbook xlWorkBook = xlWorkBooks.Open(fileName, 0, false, 5, "",
"", true, Excel.XlPlatform.xlWindows, "\t",
false, false, 0, true, 1, 0);
// Next line crashes
Excel.Worksheets xlWorkSheets = (Excel.Worksheets) xlWorkBook.Worksheets;
Run Code Online (Sandbox Code Playgroud)
错误是它无法投射它:
无法将"System .__ ComObject"类型的COM对象转换为接口类型"Microsoft.Office.Interop.Excel.Worksheets".此操作失败的原因是对IID"{000208B1-0000-0000-C000-000000000046}"的界面处的COM组件调用QueryInterface失败,因为以下错误:不支持此接口(从HRESULT异常:0x80004002(E_NOINTERFACE)) .
我的演员是不正确的?
我如何更改emacs上的初始目录(我今天开始使用它,并且有很多东西需要学习!!),现在我正在使用MX cd然后我更改了我用于Cx Cf的目录,但是日常工作我将使用一个特定的目录,所以我需要永久改变...如果你有一些启动器的提示,这将是很好的
我正在阅读SQL server 2008圣经,它说物化路径模式明显快于hierarchyid.这是真的吗?如何使hierarchyid具有相同或更好的性能.
hierarchyid sql-server-2008 materialized-path-pattern c#-4.0
这真是一种痛苦,但总是当我在-drawRect中绘制一个UIImage时,它是颠倒的.
当我翻转坐标时,图像正确绘制,但代价是所有其他CG函数绘制"错误"(翻转).
当你必须绘制图像和其他东西时,你的策略是什么?是否有任何经验法则如何不会一次又一次地陷入这个问题?
另外,当我翻转y轴时,一件令人讨厌的事情是,来自UIImageView框架的我的CGRect是错误的.而不是原点出现在预期的10,10左上方,它出现在底部.
但与此同时,CGContext的所有正常线条绘制功能都采用了正确的坐标.在-drawRect中绘制一条直线10,10左上方的线,将从左上角开始.但同时这很奇怪,因为核心图形实际上有一个翻转坐标系,底部是y 0.
所以似乎某些东西在那里真的不一致.使用CGContext函数绘制时,坐标为"预期"(cmon,没人认为坐标从左下角开始,这是愚蠢的),而绘制任何类型的图像仍然是"错误"的方式.
你使用辅助方法绘制图像吗?或者是否有任何有用的东西使图像绘制不是一个痛苦的屁股?
C++是我的第一语言,因此我习惯于被忽略的空格.但是,我一直在玩Python,我觉得很难习惯空白规则.但是,似乎互联网上的许多程序员都无法超越空白规则.从我所看到的,人们的C++程序往往在空白方面的格式非常一致(或者它很难阅读),那么为什么有些人会像Python这样的基于空格的语言出现这样的问题呢?
我必须实现一个逻辑,给定一个子类,我需要访问它的父类和该父类的所有其他子类,如果有的话.我没有在Java Reflection中找到任何允许我们访问父类的所有子类的API.有什么办法吗?
例如:
class B extends class A
class C extends class A
Run Code Online (Sandbox Code Playgroud)
现在使用B类,我可以通过调用找到超类getSuperClass().但是,有了父类,即B类和C类,有没有办法找到所有的子类?
是否有可能在C#中设置这样一个条件:如果条件为真 - 编译一个文件;如果condition为false - 编译另一个文件?
有点像
#ifdef DEBUG
#include Class1.cs
#else
#include Class2.cs
#endif
Run Code Online (Sandbox Code Playgroud)
或者可能在项目属性中进行设置.
c# ×2
java ×2
.net-2.0 ×1
assembly ×1
c#-4.0 ×1
emacs ×1
excel ×1
hierarchyid ×1
interop ×1
ipad ×1
iphone ×1
reflection ×1