Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

public class S_SingleResponsabilityProblem {
@Getter
@Setter
private static class Employee {
private Long id;
private String name;
private double salary;
private String jobTitle;
private static final String URL = "jdbc:mysql://localhost:3306/employee?useSSL=false";
public class S_SingleResponsabilitySolution {
private static class ConnectionDAO {
private Properties connectionProps;
private Connection conn;
private static final String URL = "jdbc:mysql://localhost:3306/employee?useSSL=false";
private ConnectionDAO(String username, String password) {
connectionProps = new Properties();
public class S_SingleResponsabilitySolution {
@Getter
@Setter
private static class User {
private String email;
private String password;
}
@Getter
@Setter
public class S_SingleResponsabilitySolution {
private static class AuthenticateLogin {
public boolean login(User user) {
ConnectionDAO connectionDAO = new ConnectionDAO("root", "");
Connection connection = connectionDAO.createConnection();
//realiza o login do usuário no sistema
}
}
}
public class O_OpenClosedProblem {
private static class AuthenticateLogin{
public boolean login(User user, String provider){
ConnectionDAO connectionDAO = new ConnectionDAO("root", "");
Connection connection = connectionDAO.createConnection();
if(provider.equalsIgnoreCase("Linkedin")){
//autêntica o login com o Oauth Linkedin
}
@luissilvazup
luissilvazup / O_OpenClosedSolution.java
Last active June 17, 2020 21:14
OCP Solution Part 1
public class O_OpenClosedSolution {
private interface Authentication {
boolean login(User user);
}
private static class AuthenticationLinkedin implements Authentication {
@Override
public boolean login(User user) {
//autêntica o login com o Oauth Linkedin.
public class O_OpenClosedSolution {
@AllArgsConstructor
private static class AuthenticateLogin {
private Authentication authentication;
public boolean login(User user){
return authentication.login(user);
}
}
public class L_LiskovSubstituitionProblem {
@Getter
@Setter
private static class BasicAccount {
protected double balance = 0;
public void yield() {
this.balance += (this.balance * 0.15);
}
public class I_InterfaceSegregationProblem {
public interface Car {
void charge();
void openDoor();
}
public static class Fiesta implements Car {
@Override
public void charge() {
public class I_InterfaceSegregationSolution {
public interface Car {
void openDoor();
}
public interface ElectricCar {
void charge();
}