小编loy*_*low的帖子

服务层应该抛出异常吗?

由于某种原因我不喜欢抛出异常,可能是因为我不知道的性能损失,想知道我是否应该重新考虑这个问题。

我的服务层(使用 Dao 的 + 业务逻辑等)是否应该抛出异常?

public ModelAndView createProduct(@Valid ProductForm productForm, ..) {
  ModelAndView mav = new ModelAndView(...);

  if(bindingResult.hasErrors()) {
     return mav;
  }

  // throw exception if user doesn't have permissions??
  productService.create(product, userPermissions);

}
Run Code Online (Sandbox Code Playgroud)

所以我在 ProductService 的 create 方法中的选项:

  1. 如果用户没有权限,则抛出异常
  2. 如果成功,则返回某种 Response 对象,该对象将具有新产品 ID,以及成功/失败标志和错误集合。

要记住的事情:

我可能会在非 Web 应用程序中重新使用此服务层,也可以在 Restful Web 服务中使用。

什么被认为是最佳实践?

java soa spring spring-mvc

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

你能在scala中编写自己的exists方法吗?

只是阅读Scala,以及作用于集合的exists方法如何减少代码重复等.

你怎么能写一个类似于存在的函数自己作用于集合?可能吗?

类似于作为特定类型的ac#扩展方法.

scala

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

将多个IF EXIST语句转换为更具可读性的语句

我有以下多个级别:

IF EXISTS(...)
BEGIN
  IF NOT EXISTS(...)
  BEGIN
  END
END
Run Code Online (Sandbox Code Playgroud)

我怎样才能为变量赋值并执行此操作:

@doesXExist = IF EXISTS(...)

IF @doesExist
  IF NOT EXISTS(...)
  BEGIN
  END
END
Run Code Online (Sandbox Code Playgroud)

这可能吗?

sql sql-server

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

以下正则表达式是做什么的(?-mix:{0})

我正在查看此代码,它使用此函数格式化所有正则表达式:

string.Format("(?-mix:{0})", regex);
Run Code Online (Sandbox Code Playgroud)

究竟是什么(?-mix:{0})意思?(我知道这{0}是一个占位符).

这是代码:

https://github.com/formosatek/dotliquid/blob/master/src/DotLiquid/Liquid.cs#L36 https://github.com/formosatek/dotliquid/blob/master/src/DotLiquid/Util/R.cs #L12

public static string Q(string regex)
        {
            return string.Format("(?-mix:{0})", regex);
        }


public static class Liquid
    {
        internal static readonly ResourceManager ResourceManager = new ResourceManager(typeof(DotLiquid.Properties.Resources));

        public static readonly string FilterSeparator = R.Q(@"\|");
        public static readonly string ArgumentSeparator = R.Q(@",");
        public static readonly string FilterArgumentSeparator = R.Q(@":");
        public static readonly string VariableAttributeSeparator = R.Q(@".");
        public static readonly string TagStart = R.Q(@"\{\%");
        public static readonly string TagEnd = R.Q(@"\%\}");
        public static readonly …
Run Code Online (Sandbox Code Playgroud)

c# regex

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

Scala的演员,java的等价物是什么?权衡?

我正在阅读Scala的演员,所以说我们有类似的东西:

object Worker extends Actor {
  def act() {
    while(true) {
      receive {
        case "exit" => {
          println("exiting...")
          sender ! Exit
        }
        case s:String if s.startsWith("scp") => {
          println("Starting scp")
          Thread.sleep(2000)
          sender ! Done(s)
        }
        case s:String => {
          println("Starting " + s)
          sender ! Done(s)
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

(http://www.naildrivin5.com/scalatour/wiki_pages/ActorsAndConcurrency)

与Java相同的模式会是什么样的? 我知道在Java中执行此操作要麻烦得多.

Scala的演员是否有任何性能影响?当然,从我收集的内容中实现和理解它会更容易,但是如果有任何权衡则很好奇.

java concurrency scala actor

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

有关如何在页面和主页之间创建公共基类(或功能)的建议?

我创建了一个我的.aspx页面继承自定义的基类.

由于Master页面继承自MasterPage而不是Page,因此如何创建可在Pages和Master页面中使用的常用功能?

public class SitePage : System.Web.UI.Page
{

  public SitePage()
  {

  }

  public bool IsLoggedIn
  {
         //
  }

  public string HtmlTitle
  {
           //
   }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

为什么说我的CTE查询中的RowId是无效列?

我有一个基于一些在线示例编写的CTE查询,不知道为什么我收到有关RowId的错误:

DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = 120
SET @EndRow = 140

;WITH MyCTE AS
(
    SELECT 
        c1, c2, c3,
        ROW_NUMBER() OVER(ORDER BY gav.c1) AS RowId
    FROM 
        MyTable1 gav
)
SELECT *
FROM MyTable1 
WHERE RowId > @StartRow
  AND RowId < @EndRow
ORDER BY c1
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

消息207,级别16,状态1,行15
无效的列名称'RowId'.
消息207,级别16,状态1,行16
无效的列名称'RowId'.

在我看到的每个例子中,它们RowId在查询中引用了CTE 的值,但由于某些原因它似乎不在范围内?

sql t-sql sql-server common-table-expression

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

为什么go要求你在变量名之前添加&?

这是我正在看的片段:

var t txn
t.c = c
err := c.read(&t.req)
Run Code Online (Sandbox Code Playgroud)

为什么你要写&t而不仅仅是t.req?

go

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

使用子目录时,Javascript和CSS文件不起作用

我需要获取基本路径,因为目前我的应用程序作为子站点托管,如:

www.example.com/site1/site2/
Run Code Online (Sandbox Code Playgroud)

我的IIS应用程序在site2中设置的位置,但我的剃刀页面和母版页引用了以下内容:

 <link href="/Assets/css/styles.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

在这种情况下应该是这样的:

 <link href="/site1/site2/Assets/css/styles.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

我也有像这样的图像:

 <img src="/Assets/images/logo.jpg" />
Run Code Online (Sandbox Code Playgroud)

如何让它以动态方式工作,以便我不必在某个地方对子目录进行硬编码?

c# asp.net asp.net-mvc asp.net-mvc-4

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

如何使WHERE子句中的项可选?

public List<..> GetSomething(int column1Value, int column2Value, string column3Value)
{

 from t1 in this.DataContext.Table1
 where  t1.column1 == column1Value &&
    t1.column2 == column2Value &&
    t1.column3 == column3Value

}
Run Code Online (Sandbox Code Playgroud)

现在我想重新使用上面的查询,即不想复制它,但唯一的区别是我希望t1.column3 == column3Value是选项,所以我称之为:

GetSomething(1,2,"HELLO");
Run Code Online (Sandbox Code Playgroud)

GetSomething(1,2);
Run Code Online (Sandbox Code Playgroud)

是否有可能使where子句的这部分成为条件?意思是如果你传入"",那么它会忽略那个条款?

c# linq entity-framework

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