Шаблоны проектированияООП презентация

Принципы ООП Инкапсуляция Наследование Полиморфизм Абстракция данных

Слайд 1Шаблоны проектирования ООП


Слайд 2Принципы ООП
Инкапсуляция
Наследование
Полиморфизм
Абстракция данных


Слайд 3Паттерны
Основные шаблоны (Fundamental)
Порождающие шаблоны проектирования (Creational)
Структурные шаблоны (Structural)
Поведенческие шаблоны (Behavioral)
Шаблоны параллельного

программирования (Concurrency)
MVC
Enterprise

И тд.






Слайд 4 Основные шаблоны (Fundamental)
Delegation pattern/Шаблон делегирования
Functional design/Шаблон функционального дизайна
Immutable/Неизменяемый объект
Interface
Property Container


Слайд 5Порождающие шаблоны проектирования (Creational)
Abstract Factory
Builder
Factory Method
Lazy initialization
Multiton
Object Pool
Prototype
Resource acquisition is initialization

(RAII)
Singleton


Слайд 6Abstract Factory
abstract class AbstractFactory
{
public abstract AbstractProductA CreateProductA();
public

abstract AbstractProductB CreateProductB();
}
class ConcreteFactory1 : AbstractFactory
{
public override AbstractProductA CreateProductA()
{
return new ProductA1();
}
public override AbstractProductB CreateProductB()
{
return new ProductB1();
}
}
abstract class AbstractProductB
{
public abstract void Interact(AbstractProductA a);
}

class Client
{
private AbstractProductA abstractProductA;
private AbstractProductB abstractProductB;

public Client(AbstractFactory factory)
{
abstractProductB = factory.CreateProductB();
abstractProductA = factory.CreateProductA();
}

public void Run()
{
abstractProductB.Interact(abstractProductA);
}
}

public static void Main()
{
AbstractFactory factory1 = new ConcreteFactory1();
Client c1 = new Client(factory1);
c1.Run();
}


Слайд 7Abstract Factory


Слайд 8Factory Method
using System;
class MainApp
{
static void Main() {
Creator[] creators

= new Creator[2];
creators[0] = new ConcreteCreatorA();
creators[1] = new ConcreteCreatorB();
foreach(Creator creator in creators)
{
Product product = creator.FactoryMethod();
Console.WriteLine("Created {0}", product.GetType().Name);
}
// Wait for user
Console.Read();
}
}
abstract class Product{ }
class ConcreteProductA : Product { }
class ConcreteProductB : Product { }

abstract class Creator {
public abstract Product FactoryMethod();
}
class ConcreteCreatorA : Creator
{
public override Product FactoryMethod()
{
return new ConcreteProductA();
}
}
class ConcreteCreatorB : Creator
{
public override Product FactoryMethod()
{
return new ConcreteProductB();
}
}


Слайд 9Factory Method


Слайд 10Builder
abstract class Builder
{
public abstract void

BuildPartA();
public abstract void BuildPartB();
public abstract Product GetResult();
}
class ConcreteBuilder1 : Builder
{
private readonly Product product = new Product();
public override void BuildPartA()
{ product.Add("PartA"); }
public override void BuildPartB()
{ product.Add("PartB"); }

public override Product GetResult()
{ return product; }
}

Слайд 11Builder


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика