Skip to main content

Questions tagged [extensibility]

2 votes
8 answers
498 views

Contract extensibility as it relates to enums and type unions

Say I have a contract returning a type: type CreditCard = { scheme: "Visa" | "Mastercard" } and later we decided to include Amex as card type, then making this change: type ...
dwjohnston's user avatar
  • 2,769
8 votes
2 answers
1k views

Is there a term that's kind of the opposite of 'deprecated' - that's 'in future major versions this thing will be required'

In terms of deprecation strategies, we can mark a value as deprecated and this can imply that 'this thing exists now and should work, but in future major releases this thing may disappear and will ...
dwjohnston's user avatar
  • 2,769
1 vote
2 answers
433 views

Is it okay to extend more than one class if a new type/feature is needed?

I coudn't find a better phrasing for my question and hope it is not too confusing. my question mainly targets the open/closed principle and extensibility of my program. I tried to condense everything ...
lorenz albert's user avatar
3 votes
1 answer
805 views

How could Vulkan pNext design be implemented in a "safer" way?

Vulkan introduces a member .pNext of type void* in all its core structs allowing to create handles. This member purpose is to allow to extend the structure by passing a pointer another one. This is ...
Erel's user avatar
  • 141
0 votes
1 answer
153 views

Any tradeoffs for using open methods?

I was trying to understand the use of multi-methods recently and saw several claims that they solve the Expression Problem. However, I ended concluding that it is not the multi-methods that solve it, ...
Nemanja's user avatar
  • 119
4 votes
2 answers
944 views

How to model classes that can be extendable?

I have recently inherited a codebase which has a weird problem and I am trying to search for an extensible solution that can solve my issue. Consider I have a model class that is used as a model to ...
BoredToDeath's user avatar
3 votes
1 answer
933 views

C++: Broadcast/observer pattern with polymorphic events

I'm currently trying to implement an event-system following a broadcast/observer scheme. I have events/notifications that contain information about what is happening: class Event { public: Event(...
TheBeautifulOrc's user avatar
3 votes
4 answers
868 views

Extension points via inheritance vs via delegate fields

In C#/.NET, I have a class that I want to provide extension points for. I can do this either using inheritance: public class Animal { public virtual void Speak() { } } public class Dog : Animal { ...
user20416's user avatar
  • 693
1 vote
0 answers
173 views

Does the React (and Vue.js) frameworks support extensibility?

Please forgive me if I am mixing up the terminology here, I'm a bit unfamiliar with it. I wanted to find a way to support extensibility in a web application; I wanted a web application that was ...
michael's user avatar
  • 119
1 vote
1 answer
344 views

Create a common interface to use N libraries and define specific behaviours

I am creating a browser automation library that is capable of using Puppeteer(automates chromium) and Selenium(automates all major browsers), but the goal is to also be able to add more libraries in ...
Joao Vitor's user avatar
12 votes
3 answers
3k views

What are the pros and cons of using final methods (in abstract classes)

For the purpose of writing a coding styleguide, how should final methods in software design be judged? By final I mean the Object-oriented sense that a class that can be subclassed provides methods, ...
tkruse's user avatar
  • 276
0 votes
2 answers
682 views

Is it wrong to build as much granularity as possible into a REST API?

I was recently considering the difference between using raw SQL and using a query builder like knex.js for writing dynamic queries so that I get any level of granularity for filtering database tables. ...
Alex's user avatar
  • 9
1 vote
2 answers
622 views

Design Pattern to extract arbitrary field from arbitrary file format

Lets say I have multiple file types: .json, .csv ... etc These file types come in different formats: Second json structure Extra column added to csv etc. I need to extract fields from these files; ...
Christian Gabor's user avatar
1 vote
1 answer
225 views

Ensure encapsulation and Open/Closed principle with Command pattern?

I'm developing a small multiplayer game. It'll be served by one websockets server and consumed by multiple consumers. As such I need to be cautious about concurrency errors. The general software ...
Jansky's user avatar
  • 181
4 votes
5 answers
1k views

Designing for 3rd Party Extensibility

I'm having trouble understanding how to provide an API to 3rd parties in order to allow extensions for desktop applications. I understand that if I'm using a compiled language (e.g. C++), I can load ...
Matt Bise's user avatar

15 30 50 per page