0

只是想知道为以下场景编写一些代码的最有效方法是什么......

我有一个简单的 Web 表单,它收集数据然后将其插入数据库。以下哪个示例最有效或更好,为什么?

我目前正在使用第一个场景的版本(但有更多字段和正确的 HTML 编码等)。我觉得它读起来更干净,但它是否过火或浪费性能和质量代码?

代码场景一

void GetData() {
    FormResponse myFormResponse = new FormResponse();
    FormResponse.Name = txtName.Text;
    FormResponse.Email = txtEmail.Text;
    FormResponse.Message = txtMessage.Text;

    StoreData(myFormResponse);
}

void StoreData(FormResponse myFormResponse) {
    ... //Database connection code

    DbCommand.Parameters.AddWithValue("@Name", myFormResponse.Name);
    DbCommand.Parameters.AddWithValue("@Email", myFormResponse.Email);
    DbCommand.Parameters.AddWithValue("@Message", myFormResponse.Message);

    ...//More DB handler code
}

Public Class FormResponse {
    public string Name { get; set; }
    public string Email { get; set; }
    public string Message { get; set; }
}

代码场景 2

void GetData() {

    string strName = txtName.Text;
    string strEmail = txtEmail.Text;
    string strMessage = txtMessage.Text;

    StoreData(strName, strEmail, strMessage);
}

void StoreData(string strName, string strEmail, string strMessage) {
    ... //Database connection code

    DbCommand.Parameters.AddWithValue("@Name", strName);
    DbCommand.Parameters.AddWithValue("@Email", strEmail);
    DbCommand.Parameters.AddWithValue("@Message", strMessage);

    ...//More DB handler code
}
4

1 回答 1

0

在编写这样的代码时,您应该始终考虑长期问题,始终使您的程序尽可能地可扩展,并为未来的开发人员提供可读性。是的,总是考虑性能,但在这种情况下,性能差异(如果有的话)是非常微不足道的。

始终牢记面向对象的编码,因此第一种方法将是我的理想选择,FormResponse 对象位于 Models 类中。想象一下,如果您有两种形式,您可以轻松地重用该对象,并且如果您需要发送附加到该单独对象的任何额外数据,则该函数调用仍然适用,即私有函数(objectName)永远不会改变。

正如我所说,始终考虑您所做的一切的可扩展性。如果您需要在响应函数中格式化您的姓名,只需执行以下操作:

public FormRespose() 
{
     public string Name {get; set;}
     public string FirstName { // use Name here to get first name from it, or turn uppercase, lowercase, whatever }
}

希望这足以说明我的观点。

于 2012-11-26T13:44:42.480 回答