我正在做一个移动平台的小型研究,我想知道哪些devise模式在Android中使用? 例如在iOS Model-view-controller中,与代理和其他模式一起使用非常广泛。 Android使用哪些模式和特定的位置? 编辑 我并不是要求在内核,dalvik等深入使用的devise模式,而是要求应用程序开发人员在开发应用程序时会遇到的模式。
我正在学习领域驱动devise并享受它的每一分钟。 但是,有一些实际问题令我感到困惑,我认为看到一些好的样品可能会被清除。 所以和这些问题保持一致,是否有人知道一些很好的工作代码样本能很好地模拟基本的DDD概念? 特别感兴趣 说明性的领域模型 库 使用域/应用程序服务 价值对象 总根 我知道我可能要求太多,但接近的任何事情都会有所帮助。
devise模式通常与面向对象的devise有关。 是否有创build和编程关系数据库的 devise模式 ? 许多问题肯定有可重用的解决scheme。 例子包括表格devise,存储过程,触发器等模式。 是否有类似于martinfowler.com这样的模式的在线存储库? 模式可以解决的问题的例子: 存储分层数据(例如,具有1:1键和差异的typesvs多个表的单个表…) 用variables结构存储数据(例如,generics列vs xml vs分隔列…) 使数据非规范化(如何以最小的影响做到这一点等等)
devise/构造大型函数程序的好方法是什么,特别是在Haskell中? 我已经经历了一些教程(写自己的计划是我最喜欢的,真正的世界哈斯克尔秒) – 但大多数的程序是相对较小,单一目的。 此外,我不认为其中的一些是特别优雅的(例如,WYAS中的大量查找表)。 我现在想编写更大的程序,更多的移动部分 – 从各种不同的来源获取数据,清理,以各种方式处理数据,在用户界面中显示数据,坚持使用数据,通过networking进行通信等等。一个最好的结构,这样的代码是清晰的,可维护的,适应不断变化的需求? 有相当多的文献针对大面向对象的命令式程序来解决这些问题。 像MVC,devise模式等理念是实现广泛目标的体面处方,如OO风格的分离关注和可重用性。 另外,较新的命令式语言适合于“devise成长”的重构风格,在我的新手观点中,Haskell显得不太合适。 Haskell有没有相同的文献? function性程序devise(单子,箭头,应用等)中的外来控制结构动物园如何最好地用于此目的? 你可以推荐哪些最佳做法? 谢谢! 编辑(这是Don Stewart的回答): @dons提到:“Monads可以捕获types中的关键架构devise”。 我猜我的问题是:如何以纯粹的function语言思考关键的build筑devise? 考虑几个数据stream的例子,以及几个处理步骤。 我可以将数据stream的模块化parsing器编写成一组数据结构,并且可以将每个处理步骤作为纯函数来实现。 一个数据所需的处理步骤取决于其值和其他值。 一些步骤应该跟随像GUI更新或数据库查询的副作用。 什么是“正确”的方式来绑定数据和parsing步骤,以一个很好的方式? 人们可以写一个很大的函数来为各种数据types做正确的事情。 或者可以使用monad来跟踪到目前为止已经处理了什么,并且每个处理步骤从monad状态接下来需要的任何东西。 或者可以写很大程度上单独的程序和发送消息(我不太喜欢这个选项)。 他链接的幻灯片有一个东西我们需要的项目符号:“映射devise到types/function/类/单子的习语”。 成语是什么? 🙂
这是我第一次尝试自己创build一个完整的程序,到目前为止,我一直在做单独的方法和单独的课程,所以我想听听你的想法和build议,什么是最优化的方式创build我的GUI /程序。 这个想法是,我有一个JTabbedPane作为内容的JFrame 。 JTabbedPane依次存在其他几个面板。 我正在考虑从哪里获取我需要的所有东西。 我将为Frame创build一个单独的类,为JTabbedPane另一个类,并为每个将要添加到JTabbedPane新Panel创build一个新类。 东西沿线 public class Fetcher { public Fetcher(){ JFrame frame = new theFrameClass(); // theFrameClass extends from JFrame JTabbedPane tabbedpane = new theTabbedPaneClass();// theTabbedPaneClass extends from JTabbedPane JPanel tab1 = new firstTabClass(); // firstTabClass extends from JPanel JPanel tab2 = new secondTabClass(); // etc… tabbedpane.add(tab1); tabbedpane.add(tab2); frame.add(tabbedpane); } } […]
我有一个IBankAccount接口,我将传递给ApplicationService。 帐户对象(在ApplicationService项目中)所做的更改需要保存在数据库中。 存储库使用IBankAccount接口接收更改。 我怎样才能把这个数据存入数据库? 这是使用LINQ to SQL实现的。 注意:以下是来自Scott的意见http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx “添加接口到LINQ to SQL数据模型类,LINQ to SQL类是部分类 – 这意味着你可以直接添加接口到它们。 public class LijosSimpleBankRepository : ILijosBankRepository { public System.Data.Linq.DataContext Context { get; set; } public virtual void UpdateAccount(DomainInterfaces.IBankAccount iBankAcc) { DBML_Project.BankAccount bankAccount; } } namespace DomainInterfaces { public interface IBankAccount { int BankAccountID { get; set; } string AccountType { get; […]
我的Web应用程序在业务逻辑和表示逻辑上有一些细微的变化,具体取决于login用户的types。通过根据用户types注入不同的具体类来获得变化似乎非常适合DI。 所以我想知道我应该使用什么样的StructureMap来实现这个function(或者如果我是基于DI的目的而离开的话)。 (我刚刚了解到configuration文件不是实现这一目标的方法,因为设置configuration文件不是每个线程操作: StructureMapconfiguration文件是否线程安全? ) 编辑 这是这样的吗? public class HomeController { private ISomeDependancy _someDependancy; public HomeController(ISomeDependancy someDependancy) { _someDependancy = someDependancy; } public string GetNameFromDependancy() { return _someDependancy.GetName(); } } public interface ISomeDependancy { string GetName(); } public class VersionASomeDependancy : ISomeDependancy { public string GetName() { return "My Name is Version A"; } } […]
我想创build水平响应页面导航,如下图所示: 这是我设法做的: DEMO $(document).ready(function () { var slideNum = $('.page').length, wrapperWidth = 100 * slideNum, slideWidth = 100/slideNum; $('.wrapper').width(wrapperWidth + '%'); $('.page').width(slideWidth + '%'); $('a.scrollitem').click(function(){ $('a.scrollitem').removeClass('selected'); $(this).addClass('selected'); var slideNumber = $($(this).attr('href')).index('.page'), margin = slideNumber * -100 + '%'; $('.wrapper').animate({marginLeft: margin},1000); return false; }); }); html, body { height: 100%; margin: 0; overflow-x:hidden; position:relative; } nav{ […]
C ++ 隐藏规则的基本原理是什么? class A { void f(int); } class B : public A { void f(double); } // B::f(int) is hidden 如果这是一个有意义的function,我认为也应该可以隐藏函数而不用定义具有相同名称的新函数:像这样的东西: class B : public A { hide void f(double); } 但这是不可能的。 我不认为这简化了编译器的工作,因为编译器无论如何都必须能够在显式使用using指令时取消隐藏函数: class B : public A { using A::f; void f(double); } // B::f(int) NOT hidden 那么,怎么会有一个隐藏的规则? 嗯,这三个答案看起来都不错,而且对隐藏规则也显示出不同的理由。 我不确定我应该接受哪个答案。
我想创build一个类名称的别名。 以下语法将是完美的: public class LongClassNameOrOneThatContainsVersionsOrDomainSpecificName { … } public class MyName = LongClassNameOrOneThatContainsVersionOrDomainSpecificName; 但它不会编译。 例 注意这个例子只是为了方便。 build议改变整个系统的devise,不要试图解决这个问题。 这个例子的存在或缺乏并没有改变原来的问题。 一些现有的代码依赖于静态类的存在: public static class ColorScheme { … } 此配色scheme是Outlook 2003配色scheme。 我想要引入Outlook 2007配色scheme,同时保留Outlook 2003配色scheme: public static class Outlook2003ColorScheme { … } public static class Outlook2007ColorScheme { … } 但我仍然面临这样的事实,代码依赖于一个名为ColorScheme的静态类的存在。 我的第一个想法是创build一个ColorScheme类,我将从Outlook2003或Outlook2007下降: public static class ColorScheme : Outlook2007ColorScheme { } […]