Re: Information hiding?
"Eric J. Bowman" <[email protected]>
| Newsgroups | gmane.comp.web.services.rest |
|---|---|
| Organization | Bison Systems Corporation |
| Message-ID | <[email protected]> |
Nick Gall wrote: > > But here we are 40 years later, still starting our designs by > decomposing systems into steps in a process diagram. > My lack of formal training may be an advantage, because that's not how I did it. I'm writing a modular httpd, where a NIO "listener" just makes connections, and passes the socket's file descriptor off to a vhost process; I define a vhost as one or more IP's / FQDN's which share a configuration, the vhost is just a threaded cache incapable of generating content. Static files are served by a standalone FastCGI app, which maintains multiplexed connections to those vhosts which use it. That's three modules whose boundaries were determined by design decision -- the listener is shaking out as procedural, vhost as OOP, file server as functional, written in different languages. > > Parnas D.L. (December 1972). "On the Criteria To Be Used in > Decomposing Systems into Modules". Comm ACM 15 (12): 1053–8. > doi:10.1145/361598.361623 > Guess I'd better give that a read while I can still start over. Just because I don't know what I'm doing, doesn't mean I can't learn! So thanks for (unknowingly) pointing me the right direction. I wasn't even going to mention my httpd project, except this is topical and timely to what it is I'm doing. -Eric