我是MVC的新手,但我已经看到了它的好处和优势.但是,我有一个(可能很容易回答)设计问题:
我一直在思考模型并讨论构造它们的正确方法.我看到它的方式有几个选择:
1)模型和表结构具有1对1的关系......这意味着每个表都有相应的模型.模型类具有与表列对应的属性,并且具有所需的任何方法(如getter和setter),以任何必要的方式操作表中的数据.这似乎是通用选项,我想我会让控制器根据需要调用模型来执行任何必要的业务功能.
2)模型与业务逻辑的操作而不是数据紧密相关:例如,如果在前端删除某个对象影响多个表,则模型然后"模拟"此行为并与多个表交互并执行必要的功能.然后,控制器只需要针对所需的任何业务行为调用单个模型.这是不太通用的,因为模型更加紧密耦合..但似乎更快实现.
3)前两个选项之间的东西.或许我完全忽略了这一点.
希望这是有道理的!如果我不完全忽略这一点,我倾向于认为选项(1)更好.任何的想法?
编辑:不是它应该重要,但我打算使用Codeigniter PHP MVC框架.
我正在使用以下代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
td.one
{
align="center";
colspan="3";
bgcolor="lightgrey";
style="font-size:15px;font-weight:bold;"
}
</style>
</head>
<body>
<table border="1" cellspacing="1" cellpadding="1" width="100%">
<tr>
<td> </td>
<td> </td>
<td class="one">Session 1</td>
<td class="one">Session 1</td>
</tr>
</body>
Run Code Online (Sandbox Code Playgroud)
这个CSS不适合我.我想制作课程,因此不同的<td>元素会有不同的外观.
我想使用awk从100减去一列.我试过了
awk '{ t = 100-$2 } END { print t }' /alps/average.log
Run Code Online (Sandbox Code Playgroud)
它只给了我减去的最后一个值.如果我想在终端上输出整列,怎么做呢?
我有以下功能两次发送电子邮件(我相信运行if($ result)两次).
它在一个单独的页面上调用:
<?php $User = new User();
$User->ValidReg();
$valid = $User->ValidReg();
if ($valid === false) {
Run Code Online (Sandbox Code Playgroud)
这是同类中的函数:
public function ValidReg() {
if ( !empty($_POST['username'])
&& !empty($_POST['password'])
&& !empty($_POST['email'])
&& !empty($_POST['state'])) {
//valid ?
$valid = true;
$username = mysql_real_escape_string($_POST['username']);
$password = md5(mysql_real_escape_string($_POST['password']));
$email = mysql_real_escape_string($_POST['email']);
$firstname = mysql_real_escape_string($_POST['firstname']);
$lastname = mysql_real_escape_string($_POST['lastname']);
$state = mysql_real_escape_string($_POST['state']);
$checkusername = mysql_query("SELECT * FROM users WHERE Username = '".$username."'");
if(mysql_num_rows($checkusername) == 1) {
echo "<div id='shopperlogin1'><p>Sorry, that username is taken.<br /> Please go back …Run Code Online (Sandbox Code Playgroud) 我经常面对设计模式,我发现大多数文章解释它们有点难以理解,特别是因为我不会说流利的英语.如果有人能够简单地用基本的英语解释以下设计模式,我将非常感激:Builder,Prototype,Bridge,Composite,Decorator,Facade,Flyweight,Proxy和Observer.
或者,如果您有任何良好资源的链接,我愿意花时间尝试理解它.
我在HTML中有一个href,我从服务器动态生成.我设计了一个漂亮的圆角gif图像,我想将其用作背景,即将文本(白色)放在gif图像上并使其仍可链接.
当前的HTML看起来像:
<h2>
<!--img src="images/greenback.gif"-->
<a id="site-title0" class="titletext" href="#">
Alligator Creek, Bowling Green Bay National Park
</a>
</h2>
<div id="descrip0" class='description'>
20km S of Townsville. $4.85/night. Gates close...
Run Code Online (Sandbox Code Playgroud)
使用CSS执行此操作的最佳方法是什么?我似乎可以使用相对定位在背景图像上移动文本,但在早期实验中,这会影响页面上其余的流程.
或者,也许使用CSS背景图像是最好的方法?
我想like在动态参数化查询中使用关键字.我想保护我的查询免受SQL注入,所以我不想传递值,而是我想在执行查询时传递我的标准,
有没有办法可以做到这一点?
SELECT
ComposeMail.ID,
ComposeMail.DateTime,
ComposeMail.Subject,
ComposeMail.CreatedBy,
ComposeMail.ReceiverStatus,
Users.Name,
ROW_NUMBER() OVER(ORDER BY '+ @p_SortExpression +') AS Indexing
FROM
ComposeMail
INNER JOIN
Users
ON
ComposeMail.CreatedBy = Users.ID
WHERE
(ToReceipientID=@p)
AND (
ReceiverStatus=3
OR ReceiverStatus=4
)
AND (
(Subject Like ''%' + @p3 + '%'')
OR (Body Like ''%' + @p3 + '%'')
OR (Name Like ''%' + @p3 + '%'')
)
Run Code Online (Sandbox Code Playgroud)
这是我的动态查询字符串.我不想在这里传递值.
我有几个不同的名单我想打电话.它们都具有相同的类格式:id,value,description,order.我没有创建一个类来返回所有众多列表,而是想使用泛型并告诉它返回什么样的列表.但是,我无法弄清楚如何填充类.
以下是我的调用代码中的两个函数示例.这应该指示列表的类型和用于获取数据的存储过程:
Public Function getTheEyeColors()
Dim glEyeColors As New GenericList
Return glEyeColors.GetALList(Of EyeColor)("GetAllEyeColors")
End Function
Public Function getTheHairColors()
Dim glHairColors As New GenericList
glHairColors.GetALList(Of HairColor)("GetAllHairColors")
End Function
Run Code Online (Sandbox Code Playgroud)
这是我试图用来构建通用列表的代码......
Public Function GetALList(Of t)(ByVal storedproc As String) As List(Of t)
Dim lstGenericList As New List(Of t)
Dim oGenericListItem As t
Dim oProviderFactory As New ProviderFactory
Dim oConnection As DbConnection
Dim oReader As System.Data.IDataReader
Dim oFactory As DbProviderFactory
Dim oFileMgt As New FileMgt
Dim oCmd As DbCommand
oFactory = oProviderFactory.GetFactory
oConnection = oProviderFactory.GetProviderConnection(oFactory) …Run Code Online (Sandbox Code Playgroud) 默认的ASP.NET MVC项目设置了一个"模型"目录,我不知道我曾经在我曾经使用的少数MVC项目中使用过.通常,我有一个单独的"库"项目,用于存储业务逻辑类.
现在我很好奇: 我是否因为没有利用默认的ASP.NET"Models"目录而错过了一些重要的东西? 是否有一些内置功能可以很好地使用它?