Questions tagged [extensibility]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
1 vote
2 answers
371 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
2 votes
1 answer
462 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
  • 131
0 votes
1 answer
126 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
370 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
1 vote
1 answer
591 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
481 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 { ...
Zev Spitz's user avatar
  • 693
1 vote
0 answers
150 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
268 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
  • 246
0 votes
2 answers
503 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
407 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
197 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
817 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
7 votes
1 answer
656 views

How to tackle extensibility considering the Data/Object Anti-Symmetry?

In Clean Code by Uncle Bob, page 124-125 he states Procedural code (code using data structures) makes it easy to add new functions without changing the existing data structures. OO code, on the ...
Jp_'s user avatar
  • 189
4 votes
1 answer
481 views

Plugin framework for extensible software

I need to make a web app which provides the feature to install/uninstall plugins. Think of something like Eclipse IDE like software. The only difference is you cannot restart it like Eclipse to apply ...
Nikhil Chilwant's user avatar
0 votes
1 answer
348 views

How should I design a C# bot that can be extended with minimal code changes?

I'm designing a C# bot using the Microsoft Bot Framework. I'd like the bot to be easily extensible, allowing developers to add dialogs/responses while making code changes in as few places as possible. ...
DylanSp's user avatar
  • 245
4 votes
1 answer
1k views

Factory pattern versus dynamic class instantiation in PHP

I am developing a web framework in PHP, and I want to make it fully extendable. My goal is to make it possible for a developer to change the behavior of any component without having to modify the "...
alexw's user avatar
  • 329
1 vote
1 answer
232 views

Is it true that JVM language is difficult to integrate with C than other language? [closed]

I have seen many libraries provide high level API in the language like python or lua. For example: The linear algebra library "Trilinos" provides a python API. The deep learning framework "torch" ...
worldterminator's user avatar
0 votes
2 answers
615 views

Writing extensible versus deletable code [closed]

I know this might just be semantics, but reading the article titled Write code that is easy to delete, not easy to extend made me think that perhaps it is more or less along the same lines of creating ...
Michael Lai's user avatar
4 votes
1 answer
1k views

Extension versus Delegation

I am using Swift and am wondering about the concepts of Extension and Delegation. Recently I found a case where either one of these two concepts could be applied. This reminded of the "composition ...
Vince's user avatar
  • 141
8 votes
3 answers
7k views

C++ Extensible namespaces - how to force declarations back into global namespace

It is good programming style to include all necessary dependencies in a header that references them. Often this includes declarations that are placed in the STD & global namespaces (like cstdio). ...
bgulko's user avatar
  • 101
1 vote
3 answers
141 views

Design question concerning extensibility

I am constructing a new class which handles deciding which class should process the requests from a web service. I'm looking for a solution for a problem that I am having regarding extensibility with ...
Tama198's user avatar
  • 13
2 votes
1 answer
148 views

Should I represent physical accessories of a system as classes in software?

I am redesigning a system comprised of a data-acquisition unit and a lot of different sensors (voltage sensor, angle sensor, pressure sensor, etc.). In the software domain model, there is a base ...
heltonbiker's user avatar
  • 1,038
-2 votes
1 answer
247 views

Architecture - 3D Modeling Library

I'm writing a library to allow users to generate 3D models programatically. User writes code (e.g. Square(4)) User views preview of 3D model (with built in visualizer) User can "print" the model to a ...
bearMountain's user avatar
1 vote
1 answer
647 views

Extending a class for debugging: public API, hidden implementation or something else?

I'm working on a fairly large project that involves 3D drawing, and I want to add some visualizers (for example, to see the bounding boxes of the objects) to make debugging easier. However, I'm having ...
Nini Michaels's user avatar
2 votes
2 answers
511 views

Making an MVC app extensible for multiple business markets

Suppose you are to create a single, global e-commerce application to support multiple markets in different regions of the world using ASP.NET MVC. Although most of the business logic for the ...
user1431072's user avatar
3 votes
0 answers
557 views

Do thin fluent builder method chains have any need to be "extensible"?

In an environment where refactoring is difficult extensibility can be a life saver. However, this is no excuse to over engineer code. Given that a thin fluent builder method chain is backed by well ...
candied_orange's user avatar
3 votes
1 answer
448 views

Is there a term for this coding practice?

One of the incidental complexities of introducing features to an existing system is that the programmer often has to touch several areas of code that are not immediately adjacent. Over the long haul ...
Mario T. Lanza's user avatar
3 votes
1 answer
2k views

How to design extension mechanism for java app

I have an application where I have a set of core features. The application itself HAS to work in core only mode. I would also want to make the application extensible such that, when certain jar/...
InformedA's user avatar
  • 2,991
2 votes
2 answers
244 views

Principles of an extensible data proxy

There is a growing industry now with more than 30 companies playing in the Backend-As-A-Service (BaaS) market. The principle is simple: give companies a secure way of exposing data housed on premises ...
Wesley's user avatar
  • 283
2 votes
2 answers
376 views

generic chaining technique for overloaded method

A common operation in JavaScript is to replace an object method with a new one while still calling the original method. This is often done like this: var originalMethod = obj.method; obj.method = ...
Michael Best's user avatar
-1 votes
1 answer
75 views

serving up future-proof kinfolk - extensible contract interfaces [closed]

Ok, I have this human here, but what can it do, how would you discover its special abilities? And when you find out what kind of expert you've got then how would you actually make use of its unique ...
Cel's user avatar
  • 145
3 votes
1 answer
220 views

Agile: When to re-factor and when to extend while accruing technical debt? [duplicate]

Consider the following scenario. You currently have a feature set A you wish to extend to include feature set B. In the near feature there's a high possibility that you wish to extend this even ...
James's user avatar
  • 583
8 votes
3 answers
1k views

Java Generics - how to strike a balance between expressiveness and simplicity

I'm developing some code that utilizes generics, and one of my guiding principles was to make it usable for future scenarios, and not just today's. However, several coworkers have expressed that I may ...
RuslanD's user avatar
  • 721
14 votes
2 answers
16k views

How to make an ASP.NET MVC site modular

I'm in the planning stage for an employee intranet system to be built with ASP.NET MVC 4. We'd like the site to consist of separate "modules", each of which provides a different feature: messaging, ...
bdesham's user avatar
  • 343
2 votes
7 answers
391 views

Designing extensible, interactive systems

Steve Yegge's The Pinoccio Problem describes a very special type of program: one that not only fulfills the original purpose of its creators, but also is capable of performing arbitrary, user-defined ...
deprecated's user avatar
  • 3,297
20 votes
19 answers
6k views

Programming languages with a Lisp-like syntax extension mechanism [closed]

I have only a limited knowledge of Lisp (trying to learn a bit in my free time) but as far as I understand Lisp macros allow to introduce new language constructs and syntax by describing them in Lisp ...
12 votes
5 answers
4k views

How should I create a mutable, varied jtree with arbitrary/generic category nodes?

Please note: I don't want coding help here, I'm on Programmers for a reason. I want to improve my program planning/writing skills not (just) my understanding of Java. I'm trying to figure out how to ...
AncientSwordRage's user avatar
4 votes
1 answer
164 views

How do I architect 2 plugins that share a common component?

I have an object that takes in data and spits out a transformed output, called IBaseItem. I also have two parsers, IParserA and IParserB. These parsers transform external data (in format dataA and ...
James's user avatar
  • 583
4 votes
2 answers
638 views

For a Javascript library, what is the best or standard way to support extensibility

Specifically, I want to support "plugins" that modify the behavior of parts of the library. I couldn't find much information on the web about this subject. But here are my ideas for how a library ...
Michael Best's user avatar
4 votes
3 answers
230 views

When is 'cloning', rather than reusing, a module acceptable design solution?

For this question, I'll give an example module to facilitate the discussion, Let's say the module is a calculation engine, It currently servers its purpose for its current audience. The requirement is ...
Carlos Jaime C. De Leon's user avatar
124 votes
7 answers
14k views

What is the most effective way to add functionality to unfamiliar, structurally unsound code? [duplicate]

This is probably something everyone has to face during the development sooner or later. You have an existing code written by someone else, and you have to extend it to work under new requirements. ...
Coder's user avatar
  • 6,958
2 votes
3 answers
148 views

Might I run into any trouble if I plug into an existing service/application with my own application and charge for it? [closed]

I know this is more of a lawyer question, however I figure someone here has probably done this and can give me a quick answer. Lets take a moderately extreme case. I build an adapter for a website ...
Joshua Enfield's user avatar
-1 votes
0 answers
143 views

Extensibility in multi-tenant systems? [duplicate]

Possible Duplicate: How do you manage extensibility in your multi-tenant systems? I asked this on StackOverflow, but I thought it might be more appropriate for Programmers. I've got a few big ...
Brian MacKay's user avatar
  • 1,570
0 votes
1 answer
189 views

What do I need to develop a PHP extension in lampp?

Actually I'm dealing with a trouble in my system, I have to delivery the system to clients and it was built in PHP, JS, ShellScript and SQL. I would like to encrypt the code or obfuscate it from ...
devasia2112's user avatar
6 votes
3 answers
304 views

How to design a system that allows for multiple parallel extensions of the same "component"?

As a player, I found the following problems about creating and using "extensions" (aka mods) for games: 1) Whenever the game is updated, all the mods break. 2) Most mods don't work with each ...
Sebastien Diot's user avatar
24 votes
3 answers
4k views

How would one go about building pluggable software?

If you have an application of some sort and you want your users to be able to write plugins for it, how should the application be designed? What do you have to take into account, what design ...
user9238's user avatar
  • 249
5 votes
3 answers
5k views

Difference between extensible programming and extendible programming?

What exactly is the different between "extensible programming" and "extendible programming?" Wikipedia states the following: The Lisp language community remained separate from the extensible ...
loudandclear's user avatar
7 votes
1 answer
322 views

Should I let my users write BnfExpressions to extend my grammar?

Preface I'm designing a templating language (please skip the don't/why?? speech). One of the major goals of this language is to be extensible. There are 2 main elements in my language. "Tags" and "...
mpen's user avatar
  • 1,889
5 votes
3 answers
4k views

How can I improve the ease of which I can extend my software?

I am thinking about how software like Microsoft Windows grows from small as MS-DOS to Windows 7, Adobe Photoshop from its first version to version CS5. What techniques were used to accomplish this? ...
Hafizul Amri's user avatar