<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy for Windows (vers 25 March 2009), see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body>
Then what is the issue with shared vs static libs? Why can't downstream client app just compile the petsc ml adapter, call the registration func then use ml under petsc like before?<br>
<br>
-Ross<br>
<br>
-----Original Message-----<br>
<b>From: </b>Jed Brown [<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>]<br>
<b>Sent: </b>Friday, November 22, 2013 06:44 PM Eastern Standard Time<br>
<b>To: </b>Matthew Knepley; Bartlett, Roscoe A.<br>
<b>Cc: </b>Barry Smith; petsc-trilinos-discussion@lists.mcs.anl.gov<br>
<b>Subject: </b>Re: [Petsc-trilinos-discussion] Scope and requirements<br>
<br>
Matthew Knepley <knepley@gmail.com> writes:<br>
<br>
> http://en.wikipedia.org/wiki/Dependency_injection Yes, we use plugins in<br>
<br>
> exactly the same way. They obey the top-level interface,<br>
<br>
> just like your Stratimikos interfaces, and we instantiate the concrete type<br>
<br>
> dynamically (we can load the appropriate DLL with a<br>
<br>
> runtime option if necessary). It has been this way since I was in grad<br>
<br>
> school in 1996.<br>
<br>
<br>
<br>
PETSc's system is closer to what Martin Fowler refers to as "service<br>
<br>
locator" in his essay which seems to be a popular reference, though the<br>
<br>
techniques had been around for decades by the time he wrote the essay.<br>
<br>
<br>
<br>
http://www.martinfowler.com/articles/injection.html<br>
<br>
</body>
</html>