logo

Crowdly

Browser

Додати до Chrome

Основи розробки програмного забезпечення на платформі Microsoft.NET

Шукаєте відповіді та рішення тестів для Основи розробки програмного забезпечення на платформі Microsoft.NET? Перегляньте нашу велику колекцію перевірених відповідей для Основи розробки програмного забезпечення на платформі Microsoft.NET в do.ipo.kpi.ua.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Expr ast = Parser.Parse("2*(x+3)");

Чому Parser не входить у патерн Interpreter?

100%
0%
0%
0%
Переглянути це питання

Яку проблему вирішує патерн Фабричний метод (Factory Method)

0%
0%
100%
Переглянути це питання

Принцип відкритості/закритості (Open/Closed Principle) полягає в тому, що програма повинна бути

0%
0%
0%
0%
Переглянути це питання

public class DiGuiFactory : IGUIFactory

{

private readonly IServiceProvider _sp;

public DiGuiFactory(IServiceProvider sp) => _sp = sp;

public IButton CreateButton() => _sp.GetRequiredService

();

public ICheckbox CreateCheckbox() => _sp.GetRequiredService

();

}

Що робить цю фабрику потенційно порушенням принципу Abstract Factory?

0%
100%
0%
0%
Переглянути це питання

var opt = new JsonSerializerOptions { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingDefault };

System.Console.WriteLine(JsonSerializer.Serialize(new { n = 0 }, opt));

0%
0%
0%
100%
Переглянути це питання

byte[] data = JsonSerializer.SerializeToUtf8Bytes(new { x = 3, y = 4 });

var reader = new Utf8JsonReader(data);

reader.Read();                 // StartObject

reader.Read();                 // PropertyName "x"

reader.Read();                 // Value 3

reader.Skip();                 // <- ця команда

reader.Read();                 // EndObject

System.Console.WriteLine(reader.TokenType);

50%
0%
0%
50%
Переглянути це питання

Який поведінковий патерн використано

    class Program

    {

        static void Main(string[] args)

        {

            var books = new List<Book> {

 new Book("The Stand", "Stephen King", CoverType.Paperback, 35000),

 new Book("The Hobbit", "J.R.R. Tolkien", CoverType.Paperback, 25000),

 new Book("The Name of the Wind", "Patrick Rothfuss", CoverType.Digital, 7500),

 new Book("To Kill a Mockingbird", "Harper Lee", CoverType.Hard, 65000),

 new Book("1984", "George Orwell", CoverType.Paperback, 22500) ,

 new Book("Jane Eyre", "Charlotte Brontë", CoverType.Hard, 82750)

 };

            var digitalCoverSpec = new Specification<Book>(book => book.CoverType == CoverType.Digital);

            var hardCoverSpec = new Specification<Book>(book => book.CoverType == CoverType.Hard);

            var paperbackCoverSpec = new Specification<Book>(book => book.CoverType == CoverType.Paperback);

            var extremeBudgetSpec = new Specification<Book>(book => book.PublicationCost >= 75000);

            var highBudgetSpec = new Specification<Book>(book => book.PublicationCost >= 50000 && book.PublicationCost < 75000);

            var mediumBudgetSpec = new Specification<Book>(book => book.PublicationCost >= 25000 && book.PublicationCost < 50000);

            var lowBudgetSpec = new Specification<Book>(book => book.PublicationCost < 25000);

            var defaultSpec = new Specification<Book>(book => true);

            var publicationProcess = new PublicationProcess();

            var ceo = new Employee<Book>("Alice", Position.CEO, publicationProcess.PublishBook);

            var president = new Employee<Book>("Bob", Position.President, publicationProcess.PublishBook);

            var cfo = new Employee<Book>("Christine", Position.CFO, publicationProcess.PublishBook);

            var director = new Employee<Book>("Dave", Position.DirectorOfPublishing, publicationProcess.PublishBook);

            var defaultEmployee = new Employee<Book>("INVALID", Position.Default, publicationProcess.FailedPublication);

            director.SetSpecification(digitalCoverSpec.And<Book>(lowBudgetSpec));

            cfo.SetSpecification(digitalCoverSpec.Or<Book>(paperbackCoverSpec).And<Book>(mediumBudgetSpec.Or<Book>(highBudgetSpec)));

            president.SetSpecification(mediumBudgetSpec.Or<Book>(highBudgetSpec));

            ceo.SetSpecification(extremeBudgetSpec);

            defaultEmployee.SetSpecification(defaultSpec);

            director.SetSuccessor(cfo);

            cfo.SetSuccessor(president);

            president.SetSuccessor(ceo);

            ceo.SetSuccessor(defaultEmployee);

            books.ForEach(book => director.PublishBook(book));

        }

    }

    public class PublicationProcess

    {

        public void PublishBook(Book book)

        {

            book.Publish();

        }

        public void FailedPublication(Book book)

        {

        }

    }

    public enum CoverType

    {

        Digital,

        Hard,

        Paperback

    }

    public interface IPublishable

    {

        string Author { get; set; }

        CoverType CoverType { get; }

        decimal PublicationCost { get; set; }

        void Publish();

        string Title { get; set; }

    }

    public class Book : IPublishable

    {

        public string Author { get; set; }

        public CoverType CoverType { get; set; }

        public decimal PublicationCost { get; set; }

        public string Title { get; set; }

        public Book(string title, string author, CoverType coverType, decimal publicationCost)

        {

            this.Author = author;

            this.PublicationCost = publicationCost;

            this.CoverType = coverType;

            this.Title = title;

        }

        public void Publish()

        {

        }

        public override string ToString()

        {

            return $"{CoverType} cover '{Title}' by {Author} for {PublicationCost:C2}";

        }

    }

    public interface ISpecification<in T>

    {

        bool IsSatisfiedBy(T expression);

    }

    public class Specification<T> : ISpecification<T>

    {

        private readonly Func<T, bool> _expression;

        public Specification(Func<T, bool> expression)

        {

            this._expression = expression;

        }

        public bool IsSatisfiedBy(T expression)

        {

            return this._expression(expression);

        }

    }

    public static class SpecificationExtensions

    {

        public static Specification<T> And<T>(this ISpecification<T> a, ISpecification<T> b)

        {

            if (a != null && b != null)

            {

                return new Specification<T>(expression => a.IsSatisfiedBy(expression) && b.IsSatisfiedBy(expression));

            }

            return null;

        }

        public static Specification<T> Or<T>(this ISpecification<T> a, ISpecification<T> b)

        {

            if (a != null && b != null)

            {

                return new Specification<T>(expression => a.IsSatisfiedBy(expression) || b.IsSatisfiedBy(expression));

            }

            return null;

        }

        public static Specification<T> Not<T>(this ISpecification<T> a)

        {

            // Check .

            return a != null ? new Specification<T>(expression => !a.IsSatisfiedBy(expression)) : null;

        }

    }

    public enum Position

    {

        CEO,

        President,

        CFO,

        DirectorOfPublishing,

        Default

    }

    public interface IEmployee<T>

    {

        void PublishBook(T book);

        void SetSpecification(ISpecification<T> specification);

        void SetSuccessor(IEmployee<T> employee);

    }

    public class Employee<T> : IEmployee<T> where T : IPublishable

    {

        private IEmployee<T> _successor;

        private readonly string _name;

        private ISpecification<T> _specification;

        private readonly Action<T> _publicationAction;

        private readonly Position _position;

        public Employee(string name, Position position, Action<T> publicationAction)

        {

            _name = name;

            _position = position;

            _publicationAction = publicationAction;

        }

        public bool CanApprove(T book)

        {

            if (_specification != null && book != null)

            {

                return _specification.IsSatisfiedBy(book);

            }

            return false;

        }

        public void PublishBook(T book)

        {

            if (CanApprove(book))

            {

                if (_position != Position.Default)

                {

                }

                _publicationAction.Invoke(book);

                Logging.LineSeparator();

            }

            else

            {

                _successor?.PublishBook(book);

            }

        }

        public void SetSpecification(ISpecification<T> specification)

        {

            _specification = specification;

        }

        public void SetSuccessor(IEmployee<T> employee)

        {

            _successor = employee;

        }

    }

0%
0%
0%
0%
0%
Переглянути це питання

В JSON дані розділяються

0%
0%
0%
Переглянути це питання
Що виведе згенерований код?

var groups = new[]{ new[]{1}, new[]{2,3}, new[]{4,5,6}}

.SelectMany(a=>a)

.GroupBy(n=>n%2);

]]>
0%
0%
0%
0%
Переглянути це питання

public interface IVisitor

{

void Visit(FileLeaf f);

void Visit(FolderComposite d);

}

Навіщо поєднувати Visitor і Composite?

0%
0%
100%
0%
Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на do.ipo.kpi.ua?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

Browser

Додати до Chrome