Jump to content

Search the Community

Showing results for tags 'ocp'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 1 result

  1. Estou estudando php e por consequência orientação objetos. Nesses últimos dias, me deparei com os princípios do SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) e tive algumas dúvidas. Como por exemplo, na tentativa de criar um "registration system", não consegui implementar os conceitos do SOLID, principalmente o SRP e OCP. Com isso me deparei com algumas dúvidas, por exemplo: Como escolher os nomes das classes e suas funções (objetivo, etc) ? Como relacionar os objetos (banco de dados, usuario, etc) ? Como deve ser a estrutura de classes(ex: DataBase, User, User Service) para um 'registration system' ou similar ? Como saber se estou violando ou não os principios do SOLID (dicas, etc) ? Como deveria ser implementada as classes abaixo, principalmente a DataBase ? Segue a tentativa: DataBase.class.php <?php require_once 'config.php'; class DataBase { private $DB; private $table = 'cadastro'; public function __construct() { $this->DB = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS); } public function insertUser($name, $lastname, $email, $password) { $sql = "INSERT INTO {$this->table} (name, lastname, email, password) VALUES (:name, :lastname, :email, :password)"; $stmt = $this->DB->prepare($sql); $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':lastname', $lastname, PDO::PARAM_STR); $stmt->bindParam(':email', $email, PDO::PARAM_STR); $stmt->bindParam(':password', $password, PDO::PARAM_STR); return $stmt->execute(); } public function findUserByEmail($email) { //... } public function findAll() { //... } //... } ?> User.class.php <?php class User { private $id; private $name; private $lastname; private $email; private $password; public function __construct($name = null, $lastname = null, $email = null, $password = null) { $this->name = $name; $this->lastname = $lastname; $this->email = $email; $this->password = $password; } public function getId() { return $this->id; } public function setId($id) { $this->id = $id; } public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } public function getLastname() { return $this->lastname; } public function setLastname($lastname) { $this->lastname = $lastname; } public function getEmail() { return $this->email; } public function setEmail($email) { $this->email = $email; } public function getPassword() { return $this->password; } public function setPassword($password) { $this->password = $password; } } ?> UserAction.class.php <?php class UserAction { public function register($user, $database) { return $database->insertUser($user->getName(), $user->getLastname(), $user->getEmail(), $user->getPassword()); } /* public function login($user, $database) { //... } */ //... } ?> register.php <?php require_once 'autoload.php'; $name = (isset($_POST['name']))?$_POST['name']:null; $lastname = (isset($_POST['lastname']))?$_POST['lastname']:null; $email = (isset($_POST['email']))?$_POST['email']:null; $password = (isset($_POST['password']))?$_POST['password']:null; $user = new User($name, $lastname, $email, $password); $database = new DataBase(); $action = new UserAction(); $action->register($user, $database); //... ?> Se puderem me indicar materias ou exemplos para prática ficarei grato. Obrigado !
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.