说,我有一个整数PK的客户.在我的网络应用中,我希望为他们提供个人资料页面.我不想要像/ profile/10375 /这样的网址(例如,我不希望别人知道我有多少客户).我也不想要像/ profile/acme_corp /这样的slug基本网址.
将唯一整数转换为唯一随机短字符串的好方法是什么?(例如,早期的Reddit曾经有过这种类型的url,但它是从十进制到基数36的转换,跳过一些id).但这对我来说也没用,因为很容易用这个方案猜测数据库中的实体数量.
我不能使用UUID等,因为它们会使网址过大.
我现在正在阅读http://en.wikipedia.org/wiki/Domain-driven_design,我只需要2个简单示例,这样我就能理解DDD背景下的"价值对象"和"服务".
值对象:描述事物特征的对象.值对象没有概念身份.它们通常是只读对象,可以使用Flyweight设计模式共享.
服务:当一个操作在概念上不属于任何对象时.根据问题的自然轮廓,您可以在服务中实现这些操作.服务理念在GRASP中被称为"纯粹制造".
价值客观:有人可以给我一个简单的例子吗?
服务:所以如果它不是一个对象/实体,也不属于存储库/工厂那么它的服务呢?我不明白这一点.
如果我有一个像这样的简单类设置:
class MyClass
{
private string _myName = string.Empty;
public string MyName
{
get
{
return _myName;
}
}
public void DoSomething()
{
// Get the name...
string name = string.Empty;
name = _myName;
// OR
name = MyName;
// ...and do something with it...
}
}
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个,公共财产或数据成员?
显然,在这个例子中它没有什么区别,因为它们都只是引用相同的变量.但是公共财产的现实用途呢?
一般来说,公共属性执行得非常少,在这种情况下可以调用它们吗?或者人们将大量功能放入他们的公共属性中,不应该被内部类引用调用?
我在另一篇文章中看到了一些关于不向Properties中添加大量功能的内容,因为在调试器中检查它们可以执行意外的结果.真的吗?
我有一个以下类我正在尝试创建一个包含我查询过的一堆数据的列表:
public class Agency
{
public string AgencyName { get; set; }
public int AgencyID { get; set; }
public IEnumerable<AuditRule> rules { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
"AuditRule"在哪里:
public class AuditRule
{
public int AuditRuleID { get; set; }
public string AuditRuleName { get; set }
public int AvgDaysWorked { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,在一个相当复杂的查询之后,我已经能够将我的数据放入一个看起来像这样的匿名对象:
{ DateImported, AgencyID, AgencyName, AuditRuleName, AuditRuleID, DaysWorked }
Run Code Online (Sandbox Code Playgroud)
我有这种格式的数千条记录,我正在尝试构建一个IEnumerable <Agency>,它本身包含每个代理的规则列表.
因此,以下面的数据为例:
{ AgencyID = 1, AgencyName = "CCR", AuditRuleName = "Call", AuditRuleID = 1, …Run Code Online (Sandbox Code Playgroud) 我们有一个用经典ASP编写的旧Web应用程序.我们没有资源来重写应用程序.
我知道asp和aspx页面可以在同一个ASP.NET Web应用程序中共存,但它看起来像那些你不能在这两组页面扩展类型中共享Application和可能的Session变量.
我希望在ASP.NET中进行新的开发,并且理论上,我们将经典的ASP页面转换为过去.
有没有办法在这两种类型的网页上共享IIS变量(除了使用查询字符串和表单字段传递信息)?
我正在练习一个C#控制台应用程序,我正在尝试使用该函数来验证该数字是否出现在斐波那契系列中,但是我遇到了错误.
我做的是:
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine(isFibonacci(20));
}
static int isFibonacci(int n)
{
int[] fib = new int[100];
fib[0] = 1;
fib[1] = 1;
for (int i = 2; i <= 100; i++)
{
fib[i] = fib[i - 1] + fib[i - 2];
if (n == fib[i])
{
return 1;
}
}
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里我做错了什么?
如何在不创建存储过程的情况下在oracle中实现以下功能?
数据集:
question_id element_id
1 7
1 8
2 9
3 10
3 11
3 12
Run Code Online (Sandbox Code Playgroud)
期望的结果:
question_id element_id
1 7,8
2 9
3 10,11,12
Run Code Online (Sandbox Code Playgroud) 我正在调用ASP.NET MVC操作
public JsonResult GetPatient(string patientID)
{
...
Run Code Online (Sandbox Code Playgroud)
来自JavaScript使用jQuery.以下呼叫有效
$.getJSON(
'/Services/GetPatient',
{ patientID: "1" },
function(jsonData) {
alert(jsonData);
});
Run Code Online (Sandbox Code Playgroud)
而这一个则没有.
$.ajax({
type: 'POST',
url: '/Services/GetPatient',
data: { patientID: "1" },
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(jsonData) {
alert(jsonData);
},
error: function() {
alert('Error loading PatientID=' + id);
}
});
Run Code Online (Sandbox Code Playgroud)
两者都达到了action方法,但是对于$ .ajax调用,patientID值为null.我想使用$ .ajax调用来进行一些高级回调.
任何想法都赞赏.
假设我有两个包含静态变量XmlTag的类.第二个类继承自第一个类.我有一个模板方法,需要根据它使用的类型获取XmlTag.无需创建该类型的实例,最好的方法是什么?这是一个例子(不会编译),应该有希望说明我在说什么.
class A{
public static readonly string XmlTag = "AClass";
}
class B : A {
public static readonly string XmlTag = "BClass";
}
Run Code Online (Sandbox Code Playgroud)
此方法当前无效.显然无法从类型参数访问静态变量.
string GetName<T>(T AClass) where T : A
{
return T.XmlTag;
}
Run Code Online (Sandbox Code Playgroud) c# ×4
asp.net ×2
asp.net-mvc ×2
.net ×1
asp-classic ×1
data-members ×1
database ×1
excel ×1
fibonacci ×1
jquery ×1
linq ×1
linq-to-sql ×1
oracle ×1
properties ×1
sql ×1
string ×1
xml ×1