我只是掌握了MVC框架,我常常想知道模型中应该有多少代码.我倾向于有一个数据访问类,其方法如下:
public function CheckUsername($connection, $username)
{
try
{
$data = array();
$data['Username'] = $username;
//// SQL
$sql = "SELECT Username FROM" . $this->usersTableName . " WHERE Username = :Username";
//// Execute statement
return $this->ExecuteObject($connection, $sql, $data);
}
catch(Exception $e)
{
throw $e;
}
}
Run Code Online (Sandbox Code Playgroud)
我的模型往往是映射到数据库表的实体类.
模型对象是否应具有所有数据库映射属性以及上面的代码,或者可以将实际上数据库工作的代码分开吗?
我最终会有四层吗?
我需要更有经验的程序员的帮助.我想提高我的MVC技能.但我找不到关于Google for MVC的好教程.谷歌总是给"初学者MVC".
我理解MVC是什么,我可以做到,但我没有经验足以在OOP中做一些实用的事情.
如果有人知道一个好的面向对象的MVC教程,请指引我到正确的地方 - 我正在寻找好的链接,书籍等.
Martin Fowler在其着作"企业应用程序架构模式"一书中讨论了在软件开发中常见的持久性模式,特别是与ORM相关的持久性模式.
是否存在Hibernate最紧密遵守的模式?
阅读gamasutra上的artile让我想到如何将MVC游戏中的控制器设计为:
选项1:控制器应该对模型起作用,
例如:每按一次键,控制器调用模型:
On KeyPress Left
SuperMario.StartWalking(Left)
On KeyRelease -Left or Right-
SuperMario.StopWalking()
Run Code Online (Sandbox Code Playgroud)
选项2:模型向控制器查询要执行的操作
例如:每个更新刻度模型调用GetDesiredXSpeed():
On KeyPress Left
speedX = -SuperMario.MaxSpeed();
On KeyRelease -Left or Right-
speedX = 0;
int GetDesiredXSpeed()
return speedX;
Run Code Online (Sandbox Code Playgroud)
控制器的两种设计中的哪一种在能够改变控制器以支持替代输入方法(如操纵杆或鼠标,网络播放器甚至AI)方面提供了最大的好处?我应该为另一个人做什么呢.如果您在游戏设计方面有个人经验,请给我2美分.
我需要一些关于Ruby on Rails 最佳实践的信息,特别是对于必须做很多事情的Controller,因此,一个简单的"show"动作现在就行了.我知道,它不是很好,我有特定的代码.
这是一个示例代码:
def show
sound = Sound.find(params[:id])
@xml_path = File.dirname(sound.file.path)
s3 = AWS::S3.new(
:access_key_id => 'XXX',
:secret_access_key => 'XXX')
@url = s3.buckets['dev'].objects[sound.file.path[1..-1]].url_for(:read, :expires => 10*60)
if sound.id_job != 0 && sound.transcript_progress != 100
@response = Savon.client("http://srap.php?wsdl").request(:avance) do
soap.body = {
:Jeton => "abcdef",
:ID_job => sound.id_job,
}
end
@response = @response.to_hash
@progress = @response[:avance][:avancement].to_s.split("#")[1]# ID_job received is formed like "OK#123", we keep "123"
if @progress == "Termine"
sound.transcript_progress = 100
elsif @progress == "ERROR" …Run Code Online (Sandbox Code Playgroud) oop ×2
php ×2
architecture ×1
game-engine ×1
hibernate ×1
java ×1
model ×1
orm ×1
poeaa ×1
ruby ×1