Tag: devise原则

Bootstrap中col-lg- *,col-md- *和col-sm- *有什么不同?

Twitter Bootstrap 3中的col-lg-* , col-md-*和col-sm-* col-md-*什么区别?

函数式编程取代了GoF的devise模式吗?

自从去年开始学习F#和OCaml以来,我已经阅读了大量的文章,坚持认为devise模式(尤其是Java)是命令式语言中缺less特性的解决方法。 我发现的一篇文章提出了相当强烈的说法 : 我遇到的大多数人都阅读了“四人帮”的devise模式书。 任何自我尊重的程序员都会告诉你,这本书是语言不可知的,这些模式一般适用于软件工程,不pipe你使用哪种语言。 这是一个崇高的主张。 不幸的是,事实远非如此。 function语言是非常有performance力的。 在一种function语言中,由于语言可能如此之高,所以不需要devise模式,最终可以将概念中的devise模式排除在外。 函数式编程的主要function包括函数作为第一类值,柯里化,不可变的值等。对我来说,OOdevise模式近似于任何这些特性似乎并不明显。 此外,在支持OOP的函数式语言(如F#和OCaml)中,使用这些语言的程序员使用与其他所有OOP语言相同的devise模式似乎是显而易见的。 实际上,现在我每天都在使用F#和OCaml,而且我在这些语言中使用的模式与我在使用Java编写时使用的模式之间没有明显的区别。 function性编程是否消除了对OOPdevise模式的需求,是否有任何事实? 如果是这样,你可以发布或链接到一个典型的OOPdevise模式的例子和它的function等效?

在实现工厂devise模式时如何避免“instanceof”?

我试图实现我的第一个工厂devise模式,我不知道如何避免使用instanceof添加工厂制造的对象列表。 这就是我想要做的: for (ABluePrint bp : bluePrints) { AVehicle v = AVehicleFactory.buildVehicle(bp); allVehicles.add(v); // Can I accomplish this without using 'instanceof'? if (v instanceof ACar) { cars.add((ACar) v); } else if (v instanceof ABoat) { boats.add((ABoat) v); } else if (v instanceof APlane) { planes.add((APlane) v); } } 从我读过的东西,使用'instanceof'是一种代码味道。 有没有更好的方法来检查工厂创build的车型,而不使用“instanceof”? 我欢迎任何关于我的实施的反馈/build议,因为我甚至不确定我是否正确地采取这种方式。 下面的完整例子: import java.util.ArrayList; class […]

Bootstrap v2下拉导航无法在移动浏览器上使用

我在移动设备上的Bootstrap菜单下拉(Bootstrap 2)有问题。 在这里用下拉button问了一个类似的问题,但是这个答案是bootstrap中的一个固有的bug,在更新中解决了。 我似乎有同样的问题,所以也许这是我的标记? 我有一个可折叠的下拉菜单导航栏,一切工作完美的桌面浏览器。 但是,在移动设备上,当您点击下拉菜单时,下拉菜单会打开,但点击任何下拉菜单链接都会将下拉菜单再次折叠 – 链接无法到达。 我试过各种引导版本,不能纠正这个,所以我只能想象它是我的标记。 这里是: <header class="navbar"> <div class="navbar-inner"> <div class="container"> <a href="#"><h1>Branding</h1></a> <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> Menu </button> <div class="nav-collapse collapse"> <ul class="nav"> <li><a href="#">Menu Item 1</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu Item 2 (Dropdown)<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Dropdown Item 1</a></li> <li><a href="#">Dropdown Item 2</a></li> […]

“党模式”背后的原则和好处是什么?

“党模式”是关系数据库devise的“模式”。 其中至less有一部分涉及许多实体(如客户,员工,合作伙伴等)之间的共同性,并将其分解到一些更为“抽象”的数据库表中。 我想找出你的想法如下: 党模式背后的核心原则和激励力量是什么? 它对你的数据模型做了什么规定? (我的上面是相当高的水平,在某些方面很可能是不正确的,我一直在使用它的项目,但我正在与一个专注于其他问题的单独的团队合作)。 你有什么经验让你感觉到这一点? 你有没有使用它,如果是的话,你会再这样做吗? 有什么优点和缺点? 派对模特是否限制了您select的ORM? 例如,您是否必须消除某些ORM,因为它们不允许在域对象和物理数据模型之间build立足够的“抽象层”? 我相信每一个答案都不会解决这些问题中的每一个……但是任何涉及其中一个或多个问题的东西都将帮助我做出我正在面对的一些决定。 谢谢。

为什么函数模板不能部分专用?

我知道语言规范禁止function模板的部分专业化。 我想知道为什么禁止它的理由? 他们没用吗? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, int>() {} //not allowed!

为什么你不能有一个有界的通配符通用的多个接口?

我知道Java的genericstypes有各种反直觉的属性。 这里有一个特别的,我不明白,我希望有人可以向我解释。 为类或接口指定types参数时,可以将其绑定,以便它必须实现具有public class Foo<T extends InterfaceA & InterfaceB>多个接口。 但是,如果你正在实例化一个实际的对象,这是行不通的。 List<? extends InterfaceA> List<? extends InterfaceA>是好的,但List<? extends InterfaceA & InterfaceB> List<? extends InterfaceA & InterfaceB>无法编译。 考虑以下完整的片段: import java.util.List; public class Test { static interface A { public int getSomething(); } static interface B { public int getSomethingElse(); } static class AandB implements A, B { […]

Python中的“Private”(实现)类

我正在编写一个由两部分组成的小型Python模块: 一些定义公共接口的函数, 上述函数使用的一个实现类,但在模块之外是没有意义的。 起初,我决定通过在函数内定义它来隐藏这个实现类,但是这会妨碍可读性,如果多个函数重用同一个类,就不能使用它。 那么,除了评论和文章外,是否有机制将class级标记为“私人”或“内部”? 我知道下划线机制,但据我所知,它只适用于variables,函数和方法名称。

MySQL的 – 如何前面填充“0”的邮政编码?

在我的MySQL InnoDB数据库中,我有我想要清理的肮脏的邮政编码数据。 干净的邮政编码数据是当我有一个邮政编码的全部5位数字(例如“90210”)。 但由于某种原因,我注意到在我的数据库中,对于以“0”开头的zipcode,0已被丢弃。 因此,邮编“ 00544 ”的“ 纽约州 00544 ”在我的数据库中被存储为“ 544 ” 和 邮编“ 02026 ”的“ Dedham,MA ”作为“ 2026 ”存储在我的数据库中。 什么SQL可以运行前面填充“0”的任何邮编不是5位数字的长度? 意思是,如果邮政编码是3位数字,前面板“00”。 如果邮政编码是4位数字,前面垫只是“0”。 更新 : 我只是将邮政编码改为数据typesVARCHAR(5)

你可以使用一个string来实例化一个类在Python中?

我正在使用一个生成器模式来分离一堆不同的configuration可能性。 基本上,我有一堆名为ID(类似于ID12345)的类。 这些全部从基础构build器类inheritance。 在我的脚本中,我需要为每个类(大约50)每次运行这个应用程序实例化一个实例。 所以,我试图看看,而不是做这样的事情: ProcessDirector = ProcessDirector() ID12345 = ID12345() ID01234 = ID01234() ProcessDirector.construct(ID12345) ProcessDirector.construct(ID01234) ID12345.run() ID01234.run() 我可以做这样的事情(我知道这是行不通的): IDS = ["ID12345", "ID01234"] ProcessDirector = ProcessDirector() for id in IDS: builder = id() #some how instantiate class from string ProcessDirector.construct(builder) builder.run() 这样,当我需要在将来添加一个新的ID时,我所要做的就是将ID添加到IDS列表中,而不是在整个代码中join新的ID。 编辑 看起来像根据数据来自哪里有一些不同的意见。 这些ID被input到其他人无法访问的文件中。 我没有从命令行读取string,我希望将来能够在添加新的ID时尽可能less地进行修改。