Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing an event system in composition #15

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

ixmanuel
Copy link

@ixmanuel ixmanuel commented Jun 5, 2017

  • Without:

    • a single private method;
    • parameters in methods (except for out.display(label));
    • Null;
    • public constants;
    • Getters/Setters;
    • Inheritance;
    • Traits or mixins;
    • Static methods;
    • MVC but an event model;
    • If-Then-Else but an event model;
    • DTO;
    • Singleton;
    • Annotations;
    • Class casting;
    • Utility classes.
  • With:

    • Naming accordingly with the EO1 approach.
    • Unique objects;
    • Just composition;
    • Decorating envelopes;
    • Encapsulation;
    • Inmmutability;
    • Final classes;
    • Vertical descomposition;
    • Configurable by composition without coupling (except for IfBase and OnBase);
    • A modified printer;
    • Validating decorators;
    • An "ugly" view in hangman.Attempt, but you can see at a glance the architecture;
    • One primary constructors;
    • Code-free constructors. Thus, the code is declarative;
    • Contract-oriented programing;
  • Without following:

    • Multiple returns (I don't understad why it is a code smell);
    • Compound names in vars, but very balanced.
    • Empty lines. I let empty lines between state, constructors and methods.
  • Todo:

    • Removing new in methods.
    • Caching and improving the algorithms.
    • Write identified Tests in TestPlan.md

 - Blocks: proposal for cactoos, character, math, word, event, game and player
  - Not compiling.
  - Create a printer for concat view of contents or media contents.
  - Introduce the scanner
  - Create Action(Evaluation(Result))
      - Not compiling.
      - Create a printer for concat view of contents or media contents.
      - Introduce the scanner
      - Create Action(Evaluation(Result))
  - Conditions only dispatch events
  - OnAnyEvent only respond/react to the events
  - The Attempt object was reduced and collateral objects too.
    - There is not any temporary coupling.
    - Fix: Incremented(Failures)) was in the first call and not in the constructor.
    - Todo: Integration of MaxFailures and Failures into Lives.
@ixmanuel ixmanuel changed the title Master Introducing an event system in composition Jun 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant