153得票5回答
通过 DI 容器创建的对象初始化是否有模式?

我正在尝试让Unity管理我的对象创建,并且我想有一些初始化参数,这些参数在运行时是未知的: 目前,我能想到的唯一方法是在接口上拥有一个Init方法。interface IMyIntf { void Initialize(string runTimeParam); string Ru...

62得票9回答
开发大型JavaScript应用程序的最佳实践

我在Java/C++方面有较为扎实的基础,但我想知道是否有可能开发一个相对较大的JavaScript应用程序而不必牺牲质量。 关于此,任何提示都将不胜感激,包括: 开发环境 调试技术 单元测试 性能分析 仪器化 系统设计 界面设计 代码设计 如果你们中的一些人知道像JavaScrip...

23得票1回答
设计Python API:流畅接口还是参数?

我正在尝试将Protovis API简单移植到Python中。 考虑这个简单的条形图例子,使用Javascript实现:var vis = new pv.Panel() .width(150) .height(150); vis.add(pv.Bar) .data(...

10得票10回答
接口/抽象类中的静态方法

首先,我理解接口或抽象类(在.NET/C#术语中)为什么不能有抽象静态方法。我的问题更关注最佳设计解决方案。 我想要一组“帮助器”类,它们都具有自己的静态方法,以便如果我从第三方供应商获得对象A、B和C,我可以拥有带有方法的帮助器类,例如 AHelper.RetrieveByID(str...

7得票4回答
图像编辑工具的高级设计模式

我最近开始创建一个图像编辑工具,它将满足非常特定的需求。这不仅是为了那些将要使用它的人,也是为了我的娱乐。然而,我在早期就遇到了一些架构上的问题。 像任何图像编辑器一样,用户将使用“工具”来绘制和操作图像。我的第一次尝试包括一个简单的界面: public interface IDrawin...