logo

Crowdly

Browser

Додати до Chrome

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

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

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

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

    class Program

    {

        static void Main(string[] args)

        {

            Person john = new Person("John");

            Person jane = new Person("Jane");

            Person alice = new Person("Alice");

            Person billy = new Person("Billy");

            Person christine = new Person("Christine");

            john.LogChildren();

            jane.LogChildren();

            john.AddChild(alice);

            jane.AddChild(alice);

            john.AddChild(billy);

            jane.AddChild(christine);

            john.LogChildren();

            jane.LogChildren();

            Uncle david = new Uncle("David");

            Person edward = new Person("Edward");

            edward.AddChild(john);

            edward.AddChild(david);

            edward.LogChildren();

        }

    }

    public interface IFamilyMember

    {

        string Name { get; set; }

    }

    public class Person : IFamilyMember, IEnumerable<IFamilyMember>

    {

        private List<IFamilyMember> _children = new List<IFamilyMember>();

        public string Name { get; set; }

        public Person(string name)

        {

            Name = name;

        }

        public void AddChild(IFamilyMember child)

        {

            _children.Add(child);

        }

        public void RemoveChild(IFamilyMember child)

        {

            _children.Remove(child);

        }

        public IFamilyMember GetChild(int index)

        {

            return _children[index];

        }

        public IFamilyMember GetChild(string name)

        {

            return _children.Where(c => c.Name == name).First();

        }

        public IEnumerable<IFamilyMember> GetChildren()

        {

            return _children;

        }

        public IEnumerator<IFamilyMember> GetEnumerator()

        {

            return ((IEnumerable<IFamilyMember>)_children).GetEnumerator();

        }

        IEnumerator IEnumerable.GetEnumerator()

        {

            return ((IEnumerable<IFamilyMember>)_children).GetEnumerator();

        }

        public void LogChildren()

        {

            // Check if person has any children.

            if (GetChildren().Any())

            {

                // Output person's name, number of children, and list of child names.

                Console.WriteLine($"{Name} has ({GetChildren().Count()}) children:\n{String.Join("\n", GetChildren().Select(c => c.Name))}");

            }

            else

            {

                // No children to output.

                Console.WriteLine($"{Name} has no children.");

            }

        }

    }

    public class Aunt : IFamilyMember

    {

        public string Name { get; set; }

        public Aunt(string name)

        {

            Name = name;

        }

    }

    public class Uncle : IFamilyMember

    {

        public string Name { get; set; }

        public Uncle(string name)

        {

            Name = name;

        }

    }

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

public class LazyDbAdapter : IDb

{

private readonly Lazy

_db = new(() => new LegacyDb());

public int Get(int id) => _db.Value.Read(id);

}

Яку додаткову вигоду дає цей Adapter?

0%
100%
0%
0%
Переглянути це питання
Встанови відповідність

var m = new[]{ "ab", "abcd", "abc" }

.Select(s => new { s, len = s.Length })

.OrderByDescending(x => x.len);

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

public class ColorAdapter

{

private readonly LegacyRgb _c;

public ColorAdapter(LegacyRgb c)=>_c=c;

public static implicit operator NewColor(ColorAdapter a)

=> new(a._c.R,a._c.G,a._c.B);

}

Ризик неявного оператора в Adapter:

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

Який породжуючий патерн реалізовано

  public class Pages

    {

        public int PageCount { get; set; }

        public Pages(int pageCount)

        {

            this.PageCount = pageCount;

        }

    }

    public interface IBook

    {

        string Author { get; set; }

        string Title { get; set; }

        Pages Pages { get; set; }

    }

    public class Book : IBook, ICloneable

    {

        public string Title { get; set; }

        public string Author { get; set; }

        public Pages Pages { get; set; }

        public Book(string title, string author, int pageCount)

        {

            Title = title;

            Author = author;

            Pages = new Pages(pageCount);

        }

        public Book DeepClone()

        {

            Book clone = (Book)this.MemberwiseClone();

            clone.Title = String.Copy(Title);

            clone.Author = String.Copy(Author);

            clone.Pages = new Pages(Pages.PageCount);

            return clone;

        }

        public object Clone()

        {

            return this.MemberwiseClone();

        }

    }

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

ISortStrategy strategy = args.Contains("--fast") ? new QuickSort() : new MergeSort();

Як називається цей підхід вибору стратегії?

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

string txt = "LinQ";

var flag = txt.Equals("LINQ", StringComparison.OrdinalIgnoreCase);

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

Для прикладу, класи сонця, багаття, батареї опалення та електричного нагрівача, які по суті мають спільну функцію нагрівання, можна поєднати

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

Абстрактні класи

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

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

  class Program

    {

        static void Main(string[] args)

        {

            var spiralBinding = new SpiralBinding();

            var fantasyBook = new FantasyBook("The Name of the Wind", "Patrick Rothfuss", spiralBinding);

            var sciFiBook = new ScienceFictionBook("Dune", "Frank Herbert", spiralBinding);

        }

    }

    interface IBinding

    {

        string Name { get; }

    }

    class Binding : IBinding

    {

        public string Name

        {

            get

            {

                return this.GetType().Name;

            }

        }

    }

    class PerfectBinding : Binding { }

    class SpiralBinding : Binding { }

    class SaddleStitchBinding : Binding { }

    interface IBook

    {

        string Author { get; set; }

        Binding Binding { get; set; }

        string Title { get; set; }

    }

    class Book : IBook

    {

        public string Author { get; set; }

        public Binding Binding { get; set; }

        public string Title { get; set; }

        public Book(string title, string author, Binding binding)

        {

            Author = author;

            Binding = binding;

            Title = title;

            Console.WriteLine($"Created {this.GetType().Name} of \"{title}\" by {author} using {binding.Name}.");

        }

    }

    class MysteryBook : Book

    {

        public MysteryBook(string title, string author, Binding binding) : base(title, author, binding) { }

    }

    class FantasyBook : Book

    {

        public FantasyBook(string title, string author, Binding binding) : base(title, author, binding) { }

    }

    class ScienceFictionBook : Book

    {

        public ScienceFictionBook(string title, string author, Binding binding) : base(title, author, binding) { }

    }

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

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

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

Browser

Додати до Chrome