小编Mik*_*ike的帖子

什么是具有出色设计的小型开源项目?

我正在寻找Java,C#,C++,Ruby或Python等语言的小项目(5,000 - 25,000行).这些项目应该表现出优秀的架构和设计原则.这样做的目的是找到好的模型来学习,而不是在我学习这些课程之前,在接下来的10年里被打倒.

编辑:感谢所有回复.我会尝试通过所有这些,看看哪个是最容易理解的.这需要我一段时间.不过不用担心.我会接受一个.

architecture open-source design-patterns

14
推荐指数
0
解决办法
743
查看次数

为什么MVC如此受欢迎?

我本来打算把它作为一个更长的问题,但我觉得我做得越短越好,你就会越明白我的意思.

  • MVC架构模式有3个依赖项.视图取决于模型.Controller取决于视图和模型.该模型是独立的.

  • 图层架构模式定义了N-1个依赖关系,其中N是层数.

给定三个层:模型,视图和控制器,只有2个依赖项,而传统的MVC只有3个.结构如下所示:

View ---> Controller ---> Model
Run Code Online (Sandbox Code Playgroud)

[视图取决于控制器,控制器取决于型号]

在我看来,这种风格实现了相同的目标,产生更松散的耦合.为什么这种风格不常见?它真的实现了同样的目标吗?

编辑:不是ASP.NET MVC,只是模式.

关于格里格斯的帖子:

  • 就模拟而言,图层仍然允许您使用命令处理器模式来模拟按钮点击以及任何其他事件范围.
  • UI更改仍然非常简单,甚至可能更容易.在MVC中,Controller和View倾向于联系在一起.图层创建严格的分离.两个图层都是黑盒子,在实现中可以自由变化.
  • Controller对View有0个依赖项.可以编写视图,并且仍然可以通过松耦合保存时间.

language-agnostic architecture model-view-controller layer

13
推荐指数
2
解决办法
3667
查看次数

正则表达式用于文件名匹配

在Bash中,如何将具有多个条件的正则表达式与文件名匹配?例如,我想匹配.txt或.log结尾的所有文件.

我知道如何匹配一种标准:

for file in *.log
do
        echo "${file}"
done
Run Code Online (Sandbox Code Playgroud)

逻辑的语法是什么,或者匹配两种或更多类型的标准?

regex bash

12
推荐指数
4
解决办法
3万
查看次数

是否有任何允许语法抽象的非Lisp方言?

正如Rich Hickey所说,Lisp语言的秘诀在于能够通过宏直接操作抽象语法树.这可以用任何非Lisp方言语言实现吗?

lisp language-features functional-programming abstract-syntax-tree

12
推荐指数
3
解决办法
1035
查看次数

找到数组的中值?

我想知道是否有可能找到数组的中值?例如,假设我有一个大小为9的数组.是否有可能找到这个数组的中间槽?

c++ java arrays

11
推荐指数
2
解决办法
6万
查看次数

在推送到Heroku之前自动预编译资产

在推送到Heroku之前,是否可以在Rails应用程序中自动预编译我的资产?我总是忘记这样做,所以当我输入时git push heroku master,它会首先运行rake assets:precompile ; git commit add . ; git commit -a -m "Precompile.",或者那种效果会很好.

有没有人实现这样的解决方案?可能没有钩子?虽然我怀疑这是唯一的方法.

ruby rake ruby-on-rails heroku

9
推荐指数
2
解决办法
7972
查看次数

为什么这个Scala线返回一个单元?

这里有一些Scala代码可以将1到9之间的值相加,可以被3或5整除.为什么第5行返回Unit而不是布尔类型?

object Sample {

    def main(args : Array[String]) {
        val answer = (1 until 10).foldLeft(0) ((result, current) => {
            if ((current % 3 == 0) || (current % 5 == 0)) {
                result + current
            }
        })

        println(answer)
    }

}
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

7
推荐指数
3
解决办法
1531
查看次数

Ruby Regex:拒绝整个单词

我知道在Regex中,你可以拒绝符号列表,例如[^abc].在我输入的中间看到一个完整的单词时,我想拒绝.

更确切地说,我想拒绝"打印<除了"所有">"以外的任何东西.几个例子:

print all - match
frokenfooster - no match
print all nomnom - no match
print bollocks - no match
print allpies - no match
Run Code Online (Sandbox Code Playgroud)

ruby regex

7
推荐指数
1
解决办法
4231
查看次数

python类设计(staticmethod vs方法)

对于不需要任何传递信息(对象实例或类)的方法,更好的方法是什么,因为例如它们只是进行简单的转换.@staticmethod还是方法

class Foo(object):
    def __init__(self, trees):
        self.money = Foo.trees2money(trees)

    @staticmethod
    def trees2money(trees):
        return trees * 1.337

class Quu(object):
    def __init__(self, trees):
        self.money = self.trees2money(trees)

    def trees2money(self, trees):
        return trees * 1.337
Run Code Online (Sandbox Code Playgroud)

python oop static-methods

7
推荐指数
1
解决办法
2787
查看次数

迭代Joda Time的间隔

是否有可能在间隔的开始和结束日期之间迭代时间,一次一天?使用clj-timeClojure库也可以!

java clojure

7
推荐指数
2
解决办法
5975
查看次数