#ObjectOrientedProgramming

codeDude :archlinux: :neovim:codeDude@floss.social
2025-05-16

#ObjectOrientedProgramming

- Classes
- Instances of class
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
- SOLID design
- Design patterns

wowiamreallyamazed🍉️wowiamreallyamazed
2025-03-25

I swear to amaze that our oop professor is worse than our Haskell professor. How tf did that happen?

wowiamreallyamazed🍉️wowiamreallyamazed
2025-03-25

What did the object oriented programming professor say to himself when looking at a mirror "I'm ugly!", and that was the only time he was ever corect.

2025-03-20

Multi-language projects aren't terrible. Multi-framework projects are bearable, but multi-paradigm projects are not fun.

Working in what appeared to be a purely #functionalprogramming project and I find one feature where it's all suddenly #objectorientedprogramming. This too is only an issue while swapping between the two though (or trying to write reusable code).

#softwareDevelopment #devlife

2025-03-10

kitfucoda.medium.com/the-versa

Python's __call__ dunder offers a closure alternative. It manages state in a class, callable like a function, opening new code structuring possibilities.

In complex scenarios, __call__ enhances readability and maintainability. Encapsulating logic and data promotes cleaner code, improving clarity and debugging.

For pre-filling arguments, consider __call__ over functools.partial, especially with methods needing internal state. It creates a state-holding object for robust operations.

This is beneficial in large projects with complex logic. Using __call__ improves organization and maintainability, leading to efficient development.

#Python #Programming #SoftwareDevelopment #Coding #DunderMethods #ObjectOrientedProgramming #FunctionalProgramming #CodeReadability #SoftwareEngineering #OpenToWork #getfedihired

Yaroslav Khnyginsurabax@mastodon.ie
2025-03-03

"The mix-in revolution: How an ice cream innovator in Somerville influenced Lisp pioneers at the MIT AI Lab­—and made a lasting mark on programming."

technologyreview.com/2025/02/2

#MIT #Lisp #LispMachine #LispMachines #OOP #ObjectOrientedProgramming #Flavors #Symbolics #ComputingHistory #ComputerHistory

2025-02-01

Revisiting Perl Object-Oriented Programming (OOP) in 2025

An update of my 2002 post about Perl object-oriented programming (OOP) in Perl.

islandinthenet.com/revisiting-

People walking with two camels on the desert

OOP is the only way in which I know how to work on large projects.
I like it because it allows abstracting complexity.
Which is all good till you're making a gui or some user facing software.

A huge pain in the ass when your functions take hours to complete and going through your hierarchy you discover the same calculation is being performed by three different classes for no reason.

#ObjectOrientedProgramming

CoListycolisty
2025-01-21
Manuel Zavattazavy86@peertube.uno
2025-01-21

Corso Completo PHP 8 per PRINCIPIANTI (Parte 2)

peertube.uno/videos/watch/3204

2002-11-11

Camel POOP - Perl Object Oriented Programming

I wrote this article for the CodeProject back in 2002 during my first consulting career as a web developer as a way to boost my visibility. I am capturing it here for my archives. The article is based on Perl 5.

islandinthenet.com/camel-poop-

5 Design Patterns Every Developer Should Know to Master Modern Programming

804 words, 4 minutes read time.

Design patterns have revolutionized programming, serving as essential tools to simplify complex coding challenges. As a developer, learning design patterns will save time, prevent common mistakes, and foster consistency in code structure. In a world where design decisions can make or break a project, here are five fundamental design patterns that are not only practical but crucial for every developer’s toolkit.

Understanding these design patterns might seem abstract at first, but I’ll delve into their purpose, impact, and specific use cases, making this journey through code simpler. This post is inspired by Alex Hyett’s video, “5 Design Patterns That Are ACTUALLY Used By Developers”, which also does a fantastic job of bringing these principles to life.

1. The Singleton Pattern – For Controlled Global Access

The Singleton Pattern is straightforward but powerful. It ensures that a class has only one instance and provides a global point of access to it. It’s a staple for scenarios that need a single, consistent access point. Think of database connections, logging services, or application configurations. By managing these resources through a Singleton, developers reduce memory usage and ensure that all modules rely on a uniform configuration.

This pattern is prevalent in frameworks that manage resources centrally. For instance, in a gaming environment, using the Singleton pattern for a game configuration manager can prevent errors that may arise from using multiple configuration objects.

2. The Factory Pattern – Flexible Object Creation

When you need different types of objects that share common characteristics, the Factory Pattern offers a clean way to encapsulate object creation. It’s designed for situations where the exact type of object needed isn’t known until runtime.

Let’s take a familiar example: imagine building an e-commerce application that supports different payment methods. Each payment option might require unique configurations or APIs, but the core functionality remains the same. Using a Factory Pattern, developers can quickly “plug in” new payment methods without rewriting the underlying code. The Factory Pattern is truly the unsung hero for building applications that need to scale or evolve as business requirements change.

3. The Observer Pattern – Enabling Real-Time Communication

The Observer Pattern is all about establishing a one-to-many relationship between objects, where changes in one object (the “subject”) trigger updates in all “observer” objects. It’s the heartbeat of modern event-driven systems and is foundational in real-time applications.

For instance, think about social media platforms. When a user posts an update, their followers (the observers) are instantly notified. This pattern is also widely used in GUIs, where user actions like clicks or form submissions update multiple components across an application in real-time. It’s an elegant way to manage notifications without tightly coupling different parts of the application.

4. The Strategy Pattern – Achieving Flexible Algorithms

If there’s one pattern that speaks directly to adaptability, it’s the Strategy Pattern. It allows you to define a family of algorithms, encapsulate each one, and switch between them as needed. This is ideal for applications that require different behaviors under various conditions.

Let’s break it down with an example in artificial intelligence. Suppose you’re building a game with AI opponents. Depending on the game level, you might want to implement different difficulty algorithms for your AI—aggressive, defensive, or balanced. With the Strategy Pattern, you can seamlessly shift strategies as the player progresses, without overhauling the AI’s core logic.

In e-commerce, the Strategy Pattern is frequently applied to shipping calculations. Depending on factors like location, weight, or delivery time, an application can dynamically select the most appropriate shipping strategy. By embracing this pattern, developers can inject flexibility into their software that keeps options open for the future.

5. The Decorator Pattern – Adding Functionality Without Complexity

The Decorator Pattern allows developers to add functionality to an object at runtime without modifying its structure. This approach is especially useful for evolving projects, where requirements frequently change, and new functionalities are continually added.

A practical application of the Decorator Pattern is in managing user permissions in an enterprise application. A basic user object can be “decorated” with additional roles or permissions as required, depending on the user’s position or department. It provides a clean, scalable solution that sidesteps the need for endless subclassing.

In short, the Decorator Pattern empowers developers to keep codebases manageable while still providing clients or end-users with the ability to extend core functionality without major changes.

Why Do These Patterns Matter?

Each of these patterns helps developers approach complex challenges with simplicity, fostering reusability, scalability, and consistency. They’re especially beneficial in larger projects where multiple developers are involved, ensuring that code remains organized and maintainable.

As Alex Hyett shares in his video, these patterns not only make development more efficient but also unlock greater flexibility within software. If you’re eager to dive deeper, check out Alex’s video for a deeper look into how these patterns apply to various scenarios.

D. Bryan King

Related Post

Rate this:

#applicationDesign #codeDesign #codingPatterns #codingTips #DecoratorPattern #designPatternExamples #designPatterns #developerTips #efficientCoding #eventDrivenSystems #FactoryPattern #flexibleCode #modernProgramming #objectOrientedProgramming #ObserverPattern #programmingBestPractices #reusableCode #scalableCode #SingletonPattern #softwareArchitecture #softwareDevelopment #StrategyPattern

Pantone and Terii 💖 :dra_c_u:pantone_pops@equestria.social
2024-10-19

I am almost done with my coding, I finally managed to solve the problem on the CSV Handler.

Instead of Linked List and Array sharing the same file, their files are seperate now.

I am just tired trying to fix the problem and CSV's are just optional in our project.

#tech #programming #java #coding #objectorientedprogramming

Pantone and Terii 💖 :dra_c_u:pantone_pops@equestria.social
2024-10-16

I am coping and seething with my code in java:

Currently having trouble with CSVHandler, I wanted LinkedList Class and Array Class have the same file to save and read "employees.csv".

The problem is it would always duplicate, I want the duplication to stop ¦0//.

It relies on the primary key, the id of the employee. But everytime I add in an empty csv, it would say (ID # already existing).

I swear sweet mother of Celestia I'm gonna :starlighttriggered:

#tech #techsupport #programming #objectorientedprogramming #java #coding

Pantone and Terii 💖 :dra_c_u:pantone_pops@equestria.social
2024-10-16

It do be fun just cleaning up the codes and adding up colorful comments :>

#tech #programming #java #coding #objectorientedprogramming

Pantone and Terii 💖 :dra_c_u:pantone_pops@equestria.social
2024-10-15

I'm dying aaaaaaaaa :raritycry: :raritycry:

#tech #programming #java #coding #objectorientedprogramming

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst