🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)
🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)

🔧 Programmierung 🕛 kürzlich 3 Min Lesezeit
0

PRINCÍPIO DE ABERTO/FECHADO

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht




OPEN - CLOSED PRINCIPLE



As partes integrantes de um código devem ser abertas para extensão e fechadas para modificações.



A ideia é evitar a dependência de verificações condicionais com if-else, operadores ternários e switch.



Quando um novo requisito chegar, você adiciona o comportamento criando algo novo, sem modificar o código antigo.









PRA SER JUSTO



A ideia de não usar operadores condicionais é um resultado de uma aplicação correta do OCP, não é o foco em si.



Isso porque para conseguir não depender desses operadores é necessário excelência na aplicação de polimorfismo e abstração.



Com isso, se torna possível acoplar novas implementações sem reescrever o código já existente.









EXEMPLO RUIM



Todo novo meio de pagamento causará uma edição aqui. Dificulta em novas implementações e põe em risco as antigas.



Exemplo de Código:




CODE
// RUIM: Forte acoplamento. A classe precisa ser modificada a cada nova regra.
class PaymentProcessor {
public process(amount: number, method: 'CREDIT_CARD' | 'PIX' | 'PAYPAL'): void {
if (method === 'CREDIT_CARD') {
console.log(`Processando R$${amount} via Cartão de Crédito...`);
// Lógica complexa de integração com a adquirente...
}
else if (method === 'PIX') {
console.log(`Processando R$${amount} via chave Pix...`);
// Lógica complexa de geração de QRCode...
}
else if (method === 'PAYPAL') {
console.log(`Processando R$${amount} via PayPal...`);
// Lógica complexa de redirecionamento...
}
else {
throw new Error('Método de pagamento não suportado.');
}
}
}












EXEMPLO BOM



Basta cumprir o contrato “IPaymentMethod” e o método já é válido.



Conseguimos então adicionar um “DebitCardPayment”, sem afetar os demais métodos.



Exemplo de Código:




CODE
// 1. A Abstração (O Contrato)
interface IPaymentMethod {
processPayment(amount: number): void;
}

// 2. As Extensões (Novos comportamentos isolados)
class CreditCardPayment implements IPaymentMethod {
public processPayment(amount: number): void {
console.log(`Processando R$${amount} via Cartão de Crédito...`);
}
}

class PixPayment implements IPaymentMethod {
public processPayment(amount: number): void {
console.log(`Processando R$${amount} via chave Pix...`);
}
}

// 3. A Aplicação Fechada (O Consumidor)
class PaymentProcessor {
public process(amount: number, paymentMethod: IPaymentMethod): void {
paymentMethod.processPayment(amount);
}
}

// Uso prático:
const processor = new PaymentProcessor();
processor.process(150.0, new PixPayment());












É MESMO TÃO IMPORTANTE?



Sem titubear, sim e muito!



Retrabalho é caro: é mão de obra, planejamento e tempo desperdiçados.



E além disso, ficar constantemente alterando código já “finalizado” abre mais brechas para quebrar uma regra de negócio ou feature que já funcionava.






Meus Links

Github:

Portfólio:






Deixe sua reação ❤️

Você já precisou refatorar código antigo por ter aplicado mal o OCP?

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Hackers Just Poisoned the Rust Supply Chain | Threat Wire
1 Quelle
Hackers Found a Way Into Humanoid Robots | Threat Wire
1 Quelle
Bits und so #1021 (Passwort für Laufwerk)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten PRINCÍPIO DE ABERTO/FECHADO

Thematisch verwandte Begriffe: PRINCÍPIO, ABERTOFECHADO · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...