当前位置: 首页 > 知识库问答 >
问题:

如何制作模型视图控制器?

金高轩
2023-03-14

我需要修改我的代码,使它成为一个模型-视图-控制器。因为我是一个完全的编程新手,如果我诚实的话,我会头疼。任何帮助如何做到这一点将不胜感激。

*在一个牧场上有200只忙碌的绵羊。这群羊由95只白羊、60只黑羊和45只白黑羊组成。牧羊人现在想把它们分开,这样相应的羊毛就可以按颜色剪了。帮他写一个小脚本,这样他就可以更好地点他的羊了。请使用变量、数组、数学运算符和函数实现前三点。提示:为了更好地概述,您还可以定义自己的函数。

  1. 将羊分批存放。制定一个适用于变量和数组的概念
  2. 用属性名称、腿数、颜色创建200只羊,并将它们分配给马厩
  3. 将羊随机分配到多个牛棚*

这是我的代码示例,正如我所说,以下部分必须成为模型视图控制器。我该怎么做?

这是我的密码:

<?php
$stableForEachColor = array("stableForWhite", "stableForBlack", "stableForWhiteBlack");
// Function to get the full amount of all sheep
function legs($all)
{
    $legs = 4;
    return $all * $legs;
}

$whiteSheep = 95;
$blackSheep = 60;
$whiteBlackSheep = 45;
$all = $whiteSheep + $blackSheep + $whiteBlackSheep;
echo "At the pasture there are $all sheep in total.\n\n";



$legs = legs($all);
echo "All sheep combined have $legs legs in total.\n\n";

// Names of the white sheep
for ($colorWhite = 1; $colorWhite <= $whiteSheep; $colorWhite++) {
    echo "Wooly $colorWhite is white.\n";
}
// Names of the black sheep
for ($colorBlack = 1; $colorBlack <= $blackSheep; $colorBlack++) {
    echo "Wooly $colorBlack is black.\n";
}

// Names of the white-black sheep
for ($colorWhiteBlack = 1; $colorWhiteBlack <= $whiteBlackSheep; $colorWhiteBlack++) {
    echo "Wooly $colorWhiteBlack is white-black.\n";
}



$stable = array('white_sheep' => $colorWhite, 'black_sheep' => $colorBlack, 'white-black_sheep' => $colorWhiteBlack);
echo '<pre>';
print_r($stable);

$sheep = 200;
$stablesC = 4;
for ($i = $sheep; $i > 0; $i--) {
    $stables[rand(0, ($stablesC - 1))] += 1;
}
echo '<pre>';
print_r($stables);

共有1个答案

韦绍晖
2023-03-14

这项任务的大部分涉及到重组代码,分离...嗯,M、V和C位。

没有一个真正的答案,但根据快速浏览,我怀疑模型部分可能看起来大致像:

  • 抽象类羊{…}
  • 具有公共__construct($棚)功能
  • 具有公共__construct($棚)功能
  • 具有公共__construct($棚)功能
  • 公共功能addSheep($羊)
  • 公共功能删除绵羊($绵羊)
  • 公共职能转移羊($羊,$舍)
  • 公共函数setName($x)
  • 公共函数getName()
  • 公共函数getLegs()
  • 公共函数getAmountOfSheep()
  • 私有财产$name
  • 私有数组
  • 公共__construct($name)
  • 公共__construct()(可以是单例)
  • 公共__construct($name)

而且您的视图层可能非常薄(总共只有几个方法)。

不管怎样,也许这给了你一点从哪里开始的想法。

 类似资料:
  • CodeIgniter 的开发基于 MVC(模型-视图-控制器)设计模式。MVC 是一种 用于将应用程序的逻辑层和表现层分离出来的软件方法。在实践中,由于这种分离 所以你的页面中只包含很少的 PHP 脚本。 模型 代表你的数据结构。通常来说,模型类将包含帮助你对数据库进行增删改查的方法。 视图 是要展现给用户的信息。一个视图通常就是一个网页,但是在 CodeIgniter 中, 一个视图也可以是一

  • 模型视图控制器是最常用的设计模式。 开发人员发现实现这种设计模式很容易。 以下是模型视图控制器的基本架构 - 现在让我们看看结构是如何工作的。 模型 (Model) 它由纯应用程序逻辑组成,它与数据库交互。 它包括向最终用户表示数据的所有信息。 View View表示与最终用户交互的HTML文件。 它向用户表示模型的数据。 控制器 (Controller) 它充当视图和模型之间的中介。 它侦听由视

  • 以下的一段代码相当于定义一个ParameterizableViewController视图控制器的快捷方式,该控制器会立即将一个请求转发(forwards)给一个视图。请确保仅在以下情景下才使用这个类:当控制器除了将视图渲染到响应中外不需要执行任何逻辑时。 以下是一个例子,展示了如何在MVC Java编程配置方式下将所有"/"请求直接转发给名字为"home"的视图: @Configuration

  • 问题内容: 我正在使用此应用程序,我需要所有视图控制器,但一个需要纵向显示。我特别需要一个单一的视图控制器,使其能够旋转至手机所处的方向。 为此,我以模态形式呈现(未嵌入NavigationController中) 所以(例如)我的结构是这样的: 窗口-肖像 根视图控制器(UINavigationController-肖像) 家庭视图控制器(UIViewController-肖像) 详细信息视图控

  • 问题内容: 我需要一个根视图控制器实例。 我尝试了这些方法: 返回: null : 另外,当我尝试获取控制器数组时: 它仅返回一个控制器,但不是我的根视图控制器。 如果我尝试从导航控制器中获取: 返回: null : 有什么想法吗?我还能尝试获得根视图控制器的一个实例吗? 谢谢。 问题答案: 如果您尝试访问在appDelegate中设置的。试试这个: 目标C 迅速 迅捷3 迅捷4和4.2 雨燕5&

  • 我在理解容器视图控制器的实现方式时遇到了一些麻烦。 我将一个容器拖到主视图控制器中,它会自动创建嵌入式视图控制器,并通过嵌入式segue连接。然后,我可以通过从主视图控制器访问它。 我有点困惑,在飞行中创建和使用这些。即我想用它作为警报视图。我是否只是初始化视图一次,然后在每次显示被触发时更改其内容?我应该调用或只是设置隐藏/动画视图进出? 发音有困难。希望有人会说新语,能理解我。