MVC
технология
V отвечает за различные html шаблоны
M отвечает за различные файлы, которые будут служить с базой данных
C служит для объединения V и M
происходит объединение шаблонов и моделей (базой данных)
\n\n
ООП на простых примерах
Объектно-Ориентированное Программирование
представляет собой Объекты и Классы
ООП построено на трёх основных концепциях
Три принципа ООП
— инкапсуляция
не даём другим объектам изменять внутреннее состояние объекта
когда внутренне состояние объекта может изменяться только им самим
— состояние объекта — назначены определенные значения полям, свойствам.
— get и set необходимы для защиты на валидность данных (в функции всегда можно проверить тип)
— наследование
животными являются кошки, рыбы, змеи и они все дышат
— полиморфизм
животные по разному дышат и поэтому у животных Мы вызываем одинаковый метод но с разной реализацией (кошки дышат лёгкими, рыбы жабрами, змеи кожей).
V отвечает за различные html шаблоны
M отвечает за различные файлы, которые будут служить с базой данных
C служит для объединения V и M
происходит объединение шаблонов и моделей (базой данных)
сделать дополнительные функции через интерфейс взаимодействия
class Program
{
static void Main
{
IHuman Bruce = new Operator();
IHuman surrogate = new Surrogate(Bruce);
surrogate.Request();
}
}
interface IHuman
{
void Request();
}
class Operator:IHuman
{
public void Request()
{
Console.WriteLine("Operator");
}
}
class Surrogate:IHuman
{
IHuman operator;
public Surrogate(IHuman operator)
{
this.operator=operator;
}
public void Request()
{
this.operator.Request;
}
}
общий класс создаётся благодаря наследованию
базовый класс класс, который наследуется
присущие множеству связанных элементов
в каждом Update
инстализируется объект «пуля»
назначается объекту родитель
вызывает метод, который устанавливает начальную позицию и поворот
public class BadShooting:MonoBehaviour;
{
[SerializableField]
private GameObject bullet;
[SerializableField]
private Transform bulletParent;
[SerializableField]
private Vector3 bulletSpawnPosition;
private void Update()
{
var bullet=GetBullet();
bullet.transform.SetParent(bulletParent);
bullet.GetComponent<BadBullet>().OnCreate(bulletSpawnPosition,transform.rotation);
}
private GameObject GetBullet()
{
return Instantiate(bullet);
}
}
public class BadBullet:MonoBehaviour;
{
private float lifeTime=3;
private float currentLifeTime;
private float speed=10;
public void OnCreate(Vector3 position, Quaternion rotation)
{
transform.position=position;
transfor.rotation=rotation;
currentLifeTime=lifeTime;
}
void Update()
{
transform.Translate(Vector3.forward*Time.deltaTime*speed);
if ((currentLifeTime-=Time.deltaTime)<0)
Destroy(gameObject);
}
}