Giter VIP home page Giter VIP logo

ood's Introduction

OOD

ood's People

Watchers

 avatar

ood's Issues

Замечания по паттерну Model-View-Controller

  • Почему в модели фигурируют какие-то окна

  • Id и Index - это разные понятия

  • Если в гармонику будут добавлены еще какие-то параметры (цвет, запах, вкус), то в IMainWindow (ну или как он будет называться) будут добавляться всё новые и новые методы. И реализация превратится в God Object. Исправить

  • Что делает метод void GetHarmonicById(int id)?

  • Как у модели узнать, какая из гармоник в данный момент выделена?

  • Класс Harmonic (объект модели) не должен заниматься представлением в виде, понятном пользователю.

Замечания по паттерну "Команда"

  • Если отменить команду вставки картинки, а затем выполнить модификацию документа, то картинка должна удалиться, т.к. она удаляется как из документа, так и из истории отмены команд

  • Эта ситуация должна быть проверена в тестах

Замечания по паттерну "Компоновщик"

  • Сейчас реализация вставки фигуры в листовой объект не позволяет вызывающей стороне узнать, произошла вставка или не произошла

Наличие метода IsComposite плохо тем, что если клиент забудет вызвать этот метод, то будет работать с простой фигурой как с составной, хотя некоторые методы нарушают контракт родителя. А раз проверять всё равно нужно (хотя бы для Add), то лучше сделать метод GetGroup, который возаращает null или ссылку на группу

  • Отсутутсвует метод для получения фигуры по её индексу

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.