我正在研究用Java实现的模式,并且有一些关于它如何与C#对齐(可以移植到)的问题.
Java的:
class Foo
{
private Class someClass;
...
}
class Bar
{
private Field some Field;
}
Run Code Online (Sandbox Code Playgroud)
首先,Class存储域对象的实例.看起来Java在类型上公开了反射方法,用于通过反射访问对象上的字段.什么类型将成为C#的同义词?我会使用对象然后使用MethodInfo还是有更好的方法?
其次,Field是框架中的类型,使用以下方式分配:
someClass.getDeclaredField(fieldName)
Run Code Online (Sandbox Code Playgroud)
我应该使用.NET框架中的并行吗?
现在我创建了一个自定义对象来代替Foo中的Class,我为Field创建了一个自定义对象.有没有一种首选的方法呢?
我正在寻找关于如何将业务规则合并到asp.net mvc应用程序以及它们与模型的关系的一些指导.
首先是一个小背景,所以我们知道这个问题的解决方案是什么类型.在工作中,我们使用WinForms,MVP,BusinessObjects,DataAccessObjects和DataTransferObjects.层的边界使用DTO将参数发送到方法和返回类型,或返回List类型.
现在我们正在添加一个Facade层来将DTO转换为域对象以供UI使用,因为架构师不喜欢在PresentationLayer中使用DTO当前是如何工作的.除了实用与否之外,我在理论上对这一切感到很自在.
我正在建立一个有趣的网站,但考虑到它可以说它提供与SO相同的流量,就像我听到的每月60,000次点击.我对控制器和视图的机制以及模型如何与两者集成感到满意.
我使用NerdDinner作为构建站点的示例,我遵循示例中的Repository模式实现.我没有得到的是如何将业务对象合并到一起.
我听说人们谈论LINQ作为DataAccessLayer/DataAccessObjects.如果我通过业务对象强制我的所有请求,因为我已经习惯了,我已经介绍了一些奇怪的依赖项.我的UI和我的BO都必须知道我的DAO.
有意义的是将LINQ类用作真正的DAO层,将其隐藏在BO后面,并在POCO和LINQ对象之间进行BO转换.
我唯一担心的是将我的UI绑定到LINQ类,并不需要所有额外的工作,我很满意NerdDinner中的轻量级方法.
所以我本质上是在控制器中实例化的Repository,它接受并返回LINQ对象.我的业务对象有静态方法,只需要LINQ类并执行一些计算,比如应用某个州税%或w/e.
由于很多这些计算必须在存储库的结果中完成,我正在考虑将它们组合到一个中心区域,如外观层,但是它只是转换数据而不转换为其他对象集(DomainObjects) < - > DTOs).
我应该这样做,还是应该说这些业务方法确实是我的模型的一部分,并且它们应该在返回对象的存储库方法中?
我有一个带有多个左连接的sql语句,我无法在Access 2007中工作,消息说明,
不支持JOIN表达式
SELECT
Foo.A,
Bar.B,
Baz.C,
Bat.D
FROM
Foo
LEFT JOIN
Bar ON Foo.BarId = Bar.BarId
LEFT JOIN
Baz ON Foo.BazId = Baz.BazId
LEFT JOIN
Bat ON Foo.BatId = Bat.BatId
WHERE
Foo.CriteriaColumn = 1
Run Code Online (Sandbox Code Playgroud)
Access 2007的正确格式是什么?
目前有这个原型代码执行PUT:
new Ajax.Request(someUrl, {
method: 'put',
parameters: { 'foo': bar },
onSuccess: function(response) { } .bind(this)
});
Run Code Online (Sandbox Code Playgroud)
我找到了这篇文章,但该解决方案使用了RoR支持的额外参数,但是我的目标是ASP.NET后端.
我搜索了一下,发现不是所有的浏览器都支持PUT操作,所以显然这可能会在某些浏览器中失败?这已经是prod,所以我想现在直接端口就可以了.
另外,onSuccess函数中绑定(this)的处理是什么?
我们在Herki上有一个带有Sidekiq的Rails应用程序,并且数据库连接不足.
ActiveRecord::ConnectionTimeoutError: could not obtain a database
connection within 5.000 seconds (waited 5.000 seconds)
Run Code Online (Sandbox Code Playgroud)
Heroku的东西:
数据库计划:Standard0(120个连接)
Web dynos:2 Standard-2X
工作人员dynos:1标准-2X
heroku配置:
MAX_THREADS: 5
(DB_POOL not set)
(WEB_CONCURRENCY not set)
Run Code Online (Sandbox Code Playgroud)
Procfile:
web: bundle exec puma -C config/puma.rb
worker: bundle exec sidekiq
Run Code Online (Sandbox Code Playgroud)
database.yml的:
...
production:
url: <%= ENV["DATABASE_URL"] %>
pool: <%= ENV["DB_POOL"] || ENV['MAX_THREADS'] || 5 %>
Run Code Online (Sandbox Code Playgroud)
puma.rb:
# https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#adding-puma-to-your-application
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 2)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || …Run Code Online (Sandbox Code Playgroud) architecture ×1
asp.net-mvc ×1
c# ×1
heroku ×1
java ×1
javascript ×1
jquery ×1
linq-to-sql ×1
model ×1
ms-access ×1
prototypejs ×1
reflection ×1
sidekiq ×1
sql ×1