C++ Library API Design
I’m looking for a good resource for learning about good API design for C++ libraries, looking at shared objects/dlls etc. There are many resources on writing nice APIs, nice classes, templates and so on at source level, but barely anything about putting things together in shared libs and executables. Books like Large-Scale C++ Software Design by John Lakos are interesting but massively outdated.
Why does java.util.ArrayList allow to add null?
I wonder why java.util.ArrayList
allows to add null
. Is there any case where I would want to add null
to an ArrayList
?
Versioning APIs
Suppose that you have a large project supported by an API base. The project also ships a public API that end(ish) users can use.
Should static parameters in an API be part of each method?
I am currently creating a library that is a wrapper for an online API. The obvious end goal is to make it as easy for others to use as possible. As such I am trying to determine the best approach when it comes to common parameters for the API.
Designing a plug-in system
I’m working on a Java project and I would like to add a plug-in system. More precisely, I would like to let the user design his own module, pack it into a jar, leave it in a “plugins/” subfolder of my application and be done with it. I’ve managed to get a child classloader to instantiate objects of classes located in external jars, but now I’m facing a design dilemma:
Does a mobile app need more access than the public API of a site?
I have a site with a public API, and some mobile app developers have been brought in to produce an iPhone app for the site. They insist they need to see the database schema, but as I understand it, they should only need access to the documented public API.
Rails-API gem, Is there such thing as an API only application?
I’ve built a few API’s using the complete rails stack. In each project there have been multiple uses for rails core features. Each of the API has had management screens for monitoring usage, managing authentication keys, etc. Is there such thing as an API without a management front end?
Detecting IEnumerable “State Machines”
I just read an interesting article called Getting too cute with c# yield return
What is an Anti-Corruption layer, and how is it used?
I’m trying to figure out what the Anti-Corruption layer really means. I know that it’s a way to transition/work around legacy code or bad APIs. What I don’t understand is how it works and what makes it a clean separation from the undesirable layer.
When creating an api should I stick with small functions and many calls, or a few calls and large functions?
I have a rails platform that I maintain. It has a lot of different web applications built on top of it. However now a client is asking for an API so that they can keep users on their site, but take advantage of some of the automated tasks we have.