anti-patterns

    0热度

    2回答

    我经常在多个类中设置提取请求以从核心数据(以及其他一些结果)中检索'allRecipes'或'lastModifiedDate'。 为此,使用专门的类别NSManagedObjectContext+RecipeAppConveniences会很方便。我并不需要做出这种通用的,我只是在个案基础上做出决定,如果我频繁地提取相同的事物,以至于在类别中有用。 这是标准做法吗?我没有使用过多的类别,只是想检

    7热度

    1回答

    是否有可能和/或一个好主意,用Ninject(或任何其他IoC容器,对于这个问题)来创建一个默认绑定适用于不存在适当实现的情况,并使用此默认绑定而不是在多个绑定存在时处理ActivationException,或者对于特定请求不存在绑定? 我一直在使用Ninject的Factory和Conventions扩建项目去过,但我想知道,如果他们掩盖一个错误,我在更根本的层面进行,所以我创建了一个测试来说

    1热度

    1回答

    背景:来自Perl世界,我目前正在学习Python中的新作 作业。除了完成这项工作外,我还试图通过阅读SO,Python 文档和各种文章,让更多的“真正的OOP”和“pythonic”思维融入我的大脑细胞流。 现在Anti-pattern页的面向对象的设计部分,维基百科列出了此 BaseBean,其上its own page被描述为: 在面向对象的编程中,BaseBean是一个实用目的从中 混凝土

    2热度

    1回答

    讨论视图模型之间的通信模式有interesting post。 我最近努力在WPF MVVM应用程序中实现模态对话框,但是我越想越多,我就看到了为什么它很困难的原因以及为什么没有内置的帮助程序来实现此目的。针对不同的平台只能强化这种观点:通常通过导航到移动设备上的不同视图来实现看起来适合于显示选定项目细节的模式对话框的内容。 所以我的问题给那些成功实现MVVM模式并避免代码隐藏的人:你是否也避免了

    18热度

    3回答

    Martin Fowler认为贫血域模型是一种反模式。 由于Object Relational Impedence Missmatch由于域模型滚动持久性模型似乎也被严重关闭。对于持久化和标准化来说,我们倾向于将课程拆分为非常小的小部分,在这些课程之上掌握方法是愚蠢的。加持久性很少改变,但业务逻辑改变了一点点。 所以我们需要一个建立在持久化模型上的DomainModel(而不是一个也是一样的)。此

    2热度

    2回答

    返回void但改变其参数状态的方法(即提供隐式或隐式返回值)通常是不好的做法? 我发现他们很难嘲笑,这表明他们可能是一个糟糕的设计的标志。 避免它们的模式有哪些? 高度人为的例子: public interface IMapper { TargetObject Map(SourceObject source); } public class ClassUnderTest {

    3热度

    4回答

    我现在被困在一些非常奇怪的类中,它们混淆了逻辑。下面是生成一个数据库查询代码的例子: if(realTraffic.getPvkp() != null) { //Admission point if(BeanUtils.isGuidEntity(realTraffic.getPvkp())) { findParameters += " and (" +

    0热度

    2回答

    我在Propel中配置了几个表,并生成了Peer静态类。 我的问题是,我需要对不同但相似的表执行相同的搜索操作。这些表具有不同的Peer类,因为它是Propel的工作方式。这种情况会导致重复执行关于在这些表上执行的查询的代码。 我想知道是否有一些构造(避免使用函数eval),这可能会帮助我在这种情况下;我真的很想避免编写重复的代码,只对不同的静态Peer类执行相同的确切调用。从类我写的(很长的)方

    1热度

    3回答

    在正常情况下,如果函数失败,例如未在数据库中找到记录或者表示可能缺少值的任何其他情况,建议使用异常来处理这种情况? 实施例的伪代码: function retrieve(foo): results = db.query("SELECT * FROM bar WHERE foo="+foo) if not results: throw Exception("no res

    6热度

    2回答

    维基百科将“超级电话”分类为反模式,我不明白为什么。该模式在objective-C/cocoa中使用相当频繁;例如init/dealloc,drawrect,awakefromnib都需要你调用super。我在这里误解了这个概念吗? 的文章链接:http://en.wikipedia.org/wiki/Call_super