问题列表 - 第24382页

ASP.NET MVC应用程序架构"指南"

我正在寻找一些基于ASP.NET MVC的CMS应用程序架构的反馈.

域模型 - 除了System类之外什么都不依赖于定义类型.目前,大多贫血.

存储库层 - 抽象数据访问,仅由服务层调用

服务层 - 在域模型上执行业务逻辑.将视图模型暴露给控制器.

ViewModelMapper - 在视图模型和域模型之间来回转换的服务

控制器 - 超薄"交通警察"风格功能,与服务层交互,仅根据视图模型进行讨论,从不进行域模型

我的域模型主要用作数据传输(DTO)对象,目前逻辑很少.我发现这很好,因为它取决于什么(甚至不是服务层中的类).

服务层有点棘手......我只希望控制器能够访问视图模型以便于GUI编程.但是,有些服务需要相互通信.例如,我有一个事件服务,在标记内容,创建博客帖子等时通知其他侦听器服务.目前,将域模型作为输入或返回它们的方法标记为内部,因此它们不能被控制器.

听起来有点矫枉过正?抽象不够?我主要是将这作为一种严格的建筑学习而不是实际产品的学习练习,所以请不要按照"正确取决于你想做什么"的方式做出反馈.

谢谢!

architecture asp.net-mvc

5
推荐指数
1
解决办法
1821
查看次数

使用JavaScript获取图像的一部分

是否可以img通过JavaScript 在标签(带像素)中显示图像的任何部分?

我会有一个准备好的大图像(例如32x320像素)和定义的起始位置(X,Y,例如0,32)和宽度/高度(例如32,32),并希望脚本显示第二个(32x32像素)部分主图像

javascript image

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

使用Bash脚本中的选项调用linux实用程序

这是我的第一个Bash脚本,如果这个问题很简单,请原谅我.我需要计算指定目录$ HOME/.junk中的文件数.我认为这很简单,并假设以下内容可行:

numfiles= find $HOME/.junk -type f | wc -l
echo "There are $numfiles files in the .junk directory."
Run Code Online (Sandbox Code Playgroud)

find $HOME/.junk -type f | wc -l在命令行输入完全符合我的预期,只需返回文件数.在我的脚本中输入时,为什么这不起作用?在将选项传递给实用程序时,我是否遗漏了一些特殊符号?

非常感谢您的时间和帮助.

bash scripting utilities find wc

0
推荐指数
1
解决办法
296
查看次数

Objective-C中的简单数学产生意外结果

我在Objective-C中做了以下操作,并期望180作为输出,但我得到150.任何人都可以解释我做错了什么?

(360 / 100) * 50

math objective-c

0
推荐指数
1
解决办法
250
查看次数

标准来源(OSX上的Bash)

我想做这样的事情

 ruby test.rb | source /dev/stdin
Run Code Online (Sandbox Code Playgroud)

test.rb打印出来的地方cd /.没有错误,但它也没有做任何事情.如果我用这个:

 ruby test.rb > /tmp/eraseme2352; source /tmp/eraseme2352
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我想避免中间文件.

编辑:这一点的重点是命令完成后需要保持更改.对不起,我之前没有说清楚.

macos bash

3
推荐指数
1
解决办法
1953
查看次数

为什么我的SiteMapPath在Firefox中有"Skip Navigation Links"

我的主页顶部有一个站点地图,当我在Firefox中运行时,第一个节点是"Skip Navigation Links"那是什么?我怎么能摆脱那个?值得注意的是,这不是在IE中.

asp.net sitemappath

5
推荐指数
1
解决办法
7098
查看次数

如何在C#中添加启动画面?

在VB.NET中,有一个选项可以在单击"添加新窗口"时添加"启动画面",但是当我使用C#执行此操作时,我找不到任何内容.

所以

如何在C#中添加启动画面?

c# visual-studio-2008

5
推荐指数
2
解决办法
9739
查看次数

MonadState获取和放置的原因是什么?

我正在阅读Real World Haskell中的Monads章节(第14章).函数定义如下:

type RandomState a = State StdGen a
getRandom :: Random a => RandomState a
getRandom =
    get >>= \gen ->
    let (val, gen')= random gen in
    put gen' >>
    return val
Run Code Online (Sandbox Code Playgroud)

我真的不明白get和put函数的用途.我重写了以下函数,它似乎做了同样的事情并且更简洁:

getRandom2 :: Random a => RandomState a 
getRandom2= State $ \ s -> random s
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:获取和放置一般的目的什么?

monads state haskell

12
推荐指数
1
解决办法
973
查看次数

json_decode()之后匹配数组键的奇怪行为

我的PHP代码中有一些非常奇怪的行为.我不知道这是否真的是一个很好的问题,因为它几乎看起来像PHP中的一个错误.我在我的一个项目中遇到了这个问题,并将问题隔离开来:

// json object that will be converted into an array
$json = '{"5":"88"}';
$jsonvar = (array) json_decode($json); // notice: Casting to an array
// Displaying the array:
var_dump($jsonvar);
// Testing if the key is there
var_dump(isset($jsonvar["5"]));
var_dump(isset($jsonvar[5]));
Run Code Online (Sandbox Code Playgroud)

该代码输出以下内容:

array(1) {
  ["5"]=>
  string(2) "88"
}
bool(false)
bool(false)
Run Code Online (Sandbox Code Playgroud)

最大的问题:这两个测试都应该产生bool(true) - 如果使用常规的php数组创建相同的数组,这就是你会看到的:

// Let's create a similar PHP array in a regular manner:
$phparr = array("5" => "88");
// Displaying the array:
var_dump($phparr);
// Testing if the key is there
var_dump(isset($phparr["5"])); …
Run Code Online (Sandbox Code Playgroud)

php arrays

2
推荐指数
1
解决办法
1110
查看次数

python sax错误"文件元素之后的垃圾"

我使用python sax来解析xml文件.xml文件实际上是多个xml文件的组合.它看起来如下:

<row name="abc" age="40" body="blalalala..." creationdate="03/10/10" />
<row name="bcd" age="50" body="blalalala..." creationdate="03/10/09" />
Run Code Online (Sandbox Code Playgroud)

我的python代码如下.它显示"文件元素之后的垃圾"错误.有任何好主意来解决这个问题.谢谢.

from xml.sax.handler import ContentHandler
from xml.sax import make_parser,SAXException
import sys

class PostHandler (ContentHandler):
    def __init__(self):
        self.find = 0
        self.buffer = ''
        self.mapping={}
    def startElement(self,name,attrs):
        if name == 'row':
             self.find = 1
             self.body = attrs["body"]
             print attrs["body"]
    def character(self,data):
        if self.find==1:
             self.buffer+=data
    def endElement(self,name):
        if self.find == 1:
             self.mapping[self.body] = self.buffer
             print self.mapping
parser = make_parser()
handler = PostHandler()
parser.setContentHandler(handler)
try:
    parser.parse(open("2.xml"))
except SAXException:
Run Code Online (Sandbox Code Playgroud)

python sax

6
推荐指数
1
解决办法
7032
查看次数