Skip to content

Patterns reorganization in families #29

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package refactoring_guru.chain_of_responsibility.example;
package refactoring_guru.behavioral.chain_of_responsibility.example;

import refactoring_guru.chain_of_responsibility.example.middleware.Middleware;
import refactoring_guru.chain_of_responsibility.example.middleware.RoleCheckMiddleware;
import refactoring_guru.chain_of_responsibility.example.middleware.ThrottlingMiddleware;
import refactoring_guru.chain_of_responsibility.example.middleware.UserExistsMiddleware;
import refactoring_guru.chain_of_responsibility.example.server.Server;
import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.Middleware;
import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.RoleCheckMiddleware;
import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.ThrottlingMiddleware;
import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.UserExistsMiddleware;
import refactoring_guru.behavioral.chain_of_responsibility.example.server.Server;

import java.io.BufferedReader;
import java.io.IOException;
Expand All @@ -16,7 +16,7 @@
* RU: Демо-класс. Здесь всё сводится воедино.
*/
public class Demo {
private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
private static final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
private static Server server;

private static void init() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.chain_of_responsibility.example.middleware;
package refactoring_guru.behavioral.chain_of_responsibility.example.middleware;

/**
* EN: Base middleware class.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.chain_of_responsibility.example.middleware;
package refactoring_guru.behavioral.chain_of_responsibility.example.middleware;

/**
* EN: ConcreteHandler. Checks a user's role.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package refactoring_guru.chain_of_responsibility.example.middleware;
package refactoring_guru.behavioral.chain_of_responsibility.example.middleware;

/**
* EN: ConcreteHandler. Checks whether there are too many failed login requests.
*
* RU: Конкретный элемент цепи обрабатывает запрос по-своему.
*/
public class ThrottlingMiddleware extends Middleware {
private int requestPerMinute;
private final int requestPerMinute;
private int request;
private long currentTime;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package refactoring_guru.chain_of_responsibility.example.middleware;
package refactoring_guru.behavioral.chain_of_responsibility.example.middleware;

import refactoring_guru.chain_of_responsibility.example.server.Server;
import refactoring_guru.behavioral.chain_of_responsibility.example.server.Server;

/**
* EN: ConcreteHandler. Checks whether a user with the given credentials exists.
*
* RU: Конкретный элемент цепи обрабатывает запрос по-своему.
*/
public class UserExistsMiddleware extends Middleware {
private Server server;
private final Server server;

public UserExistsMiddleware(Server server) {
this.server = server;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.chain_of_responsibility.example.server;
package refactoring_guru.behavioral.chain_of_responsibility.example.server;

import refactoring_guru.chain_of_responsibility.example.middleware.Middleware;
import refactoring_guru.behavioral.chain_of_responsibility.example.middleware.Middleware;

import java.util.HashMap;
import java.util.Map;
Expand All @@ -11,7 +11,7 @@
* RU: Класс сервера.
*/
public class Server {
private Map<String, String> users = new HashMap<>();
private final Map<String, String> users = new HashMap<>();
private Middleware middleware;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.command.example;
package refactoring_guru.behavioral.command.example;

import refactoring_guru.command.example.editor.Editor;
import refactoring_guru.behavioral.command.example.editor.Editor;

public class Demo {
public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.command.example.commands;
package refactoring_guru.behavioral.command.example.commands;

import refactoring_guru.command.example.editor.Editor;
import refactoring_guru.behavioral.command.example.editor.Editor;

public abstract class Command {
public Editor editor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package refactoring_guru.command.example.commands;
package refactoring_guru.behavioral.command.example.commands;

import java.util.Stack;

public class CommandHistory {
private Stack<Command> history = new Stack<>();
private final Stack<Command> history = new Stack<>();

public void push(Command c) {
history.push(c);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.command.example.commands;
package refactoring_guru.behavioral.command.example.commands;

import refactoring_guru.command.example.editor.Editor;
import refactoring_guru.behavioral.command.example.editor.Editor;

public class CopyCommand extends Command {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.command.example.commands;
package refactoring_guru.behavioral.command.example.commands;

import refactoring_guru.command.example.editor.Editor;
import refactoring_guru.behavioral.command.example.editor.Editor;

public class CutCommand extends Command {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.command.example.commands;
package refactoring_guru.behavioral.command.example.commands;

import refactoring_guru.command.example.editor.Editor;
import refactoring_guru.behavioral.command.example.editor.Editor;

public class PasteCommand extends Command {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.command.example.editor;
package refactoring_guru.behavioral.command.example.editor;

import refactoring_guru.command.example.commands.*;
import refactoring_guru.behavioral.command.example.commands.*;

import javax.swing.*;
import java.awt.*;
Expand All @@ -10,7 +10,7 @@
public class Editor {
public JTextArea textField;
public String clipboard;
private CommandHistory history = new CommandHistory();
private final CommandHistory history = new CommandHistory();

public void init() {
JFrame frame = new JFrame("Text editor (type & use buttons, Luke!)");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package refactoring_guru.interpreter.example;
package refactoring_guru.behavioral.interpreter.example;

import refactoring_guru.interpreter.example.expressions.AndExpression;
import refactoring_guru.interpreter.example.expressions.Context;
import refactoring_guru.interpreter.example.expressions.OrExpression;
import refactoring_guru.interpreter.example.expressions.VariableExpression;
import refactoring_guru.behavioral.interpreter.example.expressions.AndExpression;
import refactoring_guru.behavioral.interpreter.example.expressions.Context;
import refactoring_guru.behavioral.interpreter.example.expressions.OrExpression;
import refactoring_guru.behavioral.interpreter.example.expressions.VariableExpression;

/**
* EN: Interpreter Design Pattern
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.interpreter.example.expressions;
package refactoring_guru.behavioral.interpreter.example.expressions;

public abstract class AbstractExpressions {
public abstract boolean interpret(Context context) throws Exception;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.interpreter.example.expressions;
package refactoring_guru.behavioral.interpreter.example.expressions;

public class AndExpression extends AbstractExpressions {
private final AbstractExpressions first;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.interpreter.example.expressions;
package refactoring_guru.behavioral.interpreter.example.expressions;

import java.util.HashMap;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.interpreter.example.expressions;
package refactoring_guru.behavioral.interpreter.example.expressions;

public class OrExpression extends AbstractExpressions {
private final AbstractExpressions first;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package refactoring_guru.interpreter.example.expressions;
package refactoring_guru.behavioral.interpreter.example.expressions;

public class VariableExpression extends AbstractExpressions {
private final String name;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package refactoring_guru.iterator.example;
package refactoring_guru.behavioral.iterator.example;

import refactoring_guru.iterator.example.profile.Profile;
import refactoring_guru.iterator.example.social_networks.Facebook;
import refactoring_guru.iterator.example.social_networks.LinkedIn;
import refactoring_guru.iterator.example.social_networks.SocialNetwork;
import refactoring_guru.iterator.example.spammer.SocialSpammer;
import refactoring_guru.behavioral.iterator.example.profile.Profile;
import refactoring_guru.behavioral.iterator.example.social_networks.Facebook;
import refactoring_guru.behavioral.iterator.example.social_networks.LinkedIn;
import refactoring_guru.behavioral.iterator.example.social_networks.SocialNetwork;
import refactoring_guru.behavioral.iterator.example.spammer.SocialSpammer;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package refactoring_guru.iterator.example.iterators;
package refactoring_guru.behavioral.iterator.example.iterators;

import refactoring_guru.iterator.example.profile.Profile;
import refactoring_guru.iterator.example.social_networks.Facebook;
import refactoring_guru.behavioral.iterator.example.profile.Profile;
import refactoring_guru.behavioral.iterator.example.social_networks.Facebook;

import java.util.ArrayList;
import java.util.List;

public class FacebookIterator implements ProfileIterator {
private Facebook facebook;
private String type;
private String email;
private final Facebook facebook;
private final String type;
private final String email;
private int currentPosition = 0;
private List<String> emails = new ArrayList<>();
private List<Profile> profiles = new ArrayList<>();
private final List<String> emails = new ArrayList<>();
private final List<Profile> profiles = new ArrayList<>();

public FacebookIterator(Facebook facebook, String type, String email) {
this.facebook = facebook;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package refactoring_guru.iterator.example.iterators;
package refactoring_guru.behavioral.iterator.example.iterators;

import refactoring_guru.iterator.example.profile.Profile;
import refactoring_guru.iterator.example.social_networks.LinkedIn;
import refactoring_guru.behavioral.iterator.example.profile.Profile;
import refactoring_guru.behavioral.iterator.example.social_networks.LinkedIn;

import java.util.ArrayList;
import java.util.List;

public class LinkedInIterator implements ProfileIterator {
private LinkedIn linkedIn;
private String type;
private String email;
private final LinkedIn linkedIn;
private final String type;
private final String email;
private int currentPosition = 0;
private List<String> emails = new ArrayList<>();
private List<Profile> contacts = new ArrayList<>();
private final List<String> emails = new ArrayList<>();
private final List<Profile> contacts = new ArrayList<>();

public LinkedInIterator(LinkedIn linkedIn, String type, String email) {
this.linkedIn = linkedIn;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package refactoring_guru.behavioral.iterator.example.iterators;

import refactoring_guru.behavioral.iterator.example.profile.Profile;

public interface ProfileIterator {
boolean hasNext();

Profile getNext();

void reset();
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package refactoring_guru.iterator.example.profile;
package refactoring_guru.behavioral.iterator.example.profile;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Profile {
private String name;
private String email;
private Map<String, List<String>> contacts = new HashMap<>();
private final String name;
private final String email;
private final Map<String, List<String>> contacts = new HashMap<>();

public Profile(String email, String name, String... contacts) {
this.email = email;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package refactoring_guru.iterator.example.social_networks;
package refactoring_guru.behavioral.iterator.example.social_networks;

import refactoring_guru.iterator.example.iterators.FacebookIterator;
import refactoring_guru.iterator.example.iterators.ProfileIterator;
import refactoring_guru.iterator.example.profile.Profile;
import refactoring_guru.behavioral.iterator.example.iterators.FacebookIterator;
import refactoring_guru.behavioral.iterator.example.iterators.ProfileIterator;
import refactoring_guru.behavioral.iterator.example.profile.Profile;

import java.util.ArrayList;
import java.util.List;

public class Facebook implements SocialNetwork {
private List<Profile> profiles;
private final List<Profile> profiles;

public Facebook(List<Profile> cache) {
if (cache != null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package refactoring_guru.iterator.example.social_networks;
package refactoring_guru.behavioral.iterator.example.social_networks;

import refactoring_guru.iterator.example.iterators.LinkedInIterator;
import refactoring_guru.iterator.example.iterators.ProfileIterator;
import refactoring_guru.iterator.example.profile.Profile;
import refactoring_guru.behavioral.iterator.example.iterators.LinkedInIterator;
import refactoring_guru.behavioral.iterator.example.iterators.ProfileIterator;
import refactoring_guru.behavioral.iterator.example.profile.Profile;

import java.util.ArrayList;
import java.util.List;

public class LinkedIn implements SocialNetwork {
private List<Profile> contacts;
private final List<Profile> contacts;

public LinkedIn(List<Profile> cache) {
if (cache != null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package refactoring_guru.iterator.example.social_networks;
package refactoring_guru.behavioral.iterator.example.social_networks;

import refactoring_guru.iterator.example.iterators.ProfileIterator;
import refactoring_guru.behavioral.iterator.example.iterators.ProfileIterator;

public interface SocialNetwork {
ProfileIterator createFriendsIterator(String profileEmail);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package refactoring_guru.iterator.example.spammer;
package refactoring_guru.behavioral.iterator.example.spammer;

import refactoring_guru.iterator.example.iterators.ProfileIterator;
import refactoring_guru.iterator.example.profile.Profile;
import refactoring_guru.iterator.example.social_networks.SocialNetwork;
import refactoring_guru.behavioral.iterator.example.iterators.ProfileIterator;
import refactoring_guru.behavioral.iterator.example.profile.Profile;
import refactoring_guru.behavioral.iterator.example.social_networks.SocialNetwork;

public class SocialSpammer {
public SocialNetwork network;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package refactoring_guru.mediator.example;
package refactoring_guru.behavioral.mediator.example;

import refactoring_guru.mediator.example.components.*;
import refactoring_guru.mediator.example.mediator.Editor;
import refactoring_guru.mediator.example.mediator.Mediator;
import refactoring_guru.behavioral.mediator.example.components.*;
import refactoring_guru.behavioral.mediator.example.mediator.Editor;
import refactoring_guru.behavioral.mediator.example.mediator.Mediator;

import javax.swing.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package refactoring_guru.mediator.example.components;
package refactoring_guru.behavioral.mediator.example.components;

import refactoring_guru.mediator.example.mediator.Mediator;
import refactoring_guru.mediator.example.mediator.Note;
import refactoring_guru.behavioral.mediator.example.mediator.Mediator;
import refactoring_guru.behavioral.mediator.example.mediator.Note;

import javax.swing.*;
import java.awt.event.ActionEvent;
Expand Down
Loading