1998Q3/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: [IDEAS] Starting from scratch -->
<!--X-From-R13: Oqnz Ivttvaf <nqnzNznvy.natry.pbz> -->
<!--X-Date: Thu, 6 Aug 1998 11:18:38 &#45;0700 -->
<!--X-Message-Id: Pine.SGI.3.96.980806104600.25305A&#45;100000#zazu,angel.com -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 813EBA1AF80CD111B44F00805F15B46501566952@itntl&#45;msg02.itntl.bhp.com.au -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: [IDEAS] Starting from scratch</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:adam#mail,angel.com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00530.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00532.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00515.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01013.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00531">Author</A>
&nbsp;|&nbsp;<A HREF="#00531">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00531">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: [IDEAS] Starting from scratch</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
<LI><em>Subject</em>: [MUD-Dev] Re: [IDEAS] Starting from scratch</LI>
<LI><em>From</em>: Adam Wiggins &lt;<A HREF="mailto:adam#mail,angel.com">adam#mail,angel.com</A>&gt;</LI>
<LI><em>Date</em>: Thu, 6 Aug 1998 11:15:01 -0700 (PDT)</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
On Thu, 6 Aug 1998, Leach, Brad BA wrote:
&gt; Just on the topic of maintainability, has anyone implemented the
&gt; platform-independant server code using a design pattern of the "Bridge"?
&gt; (Design Patterns, Gof) I prefer to work on a Unix platform, but my
&gt; co-imp likes Win32. The "Bridge" seemes like a nice pattern to solve
&gt; this problem, but at what cost of performance?

I use it *heavily*, even when all the coders are using the same platform,
or it's a project I'm doing by myself.  The small extra bit of effort has
paid for itself over and over in ease of maintinence, porting, and pinning
down system-specific problems.  It also makes it possible to stick all
those nasty system calls away into a file you never have to look at,
instead calling your nice clean wrapper functions.  This can be done
for your main(), your window events, you widget banks, input devices,
sound devices, socket handlers, rendering APIs, and whatever else you
like.

My current work project is cross-platform without too much difficulty.
Once we abstracted all the system dependancies via the bridge pattern,
the only hangup was just small compiler disagreements - be warned that
MSVC has a few of its own ideas about what should be standard C++,
which conflict in a rather serious way with ANSI C++.  Over time our
team has developed a few coding standards in order to try to
satisfy all of the compilers used on the project.

And performance?  Hah.  A few years ago this might have been an issue;
I can't see how it would be now, unless you were doing some sort of
realtime app that required direct and specific access to the hardware.
Naturally, a mud does not qualify for this.  In fact, a text-based mud
is already quite platform-independant by its nature; the only bridges
you need to write are to handle main() and WinMain(), and the connection
manager.  Those should be quite easy; get them out of the way early and
you'll rarely have to examine that code again.

Adam




</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00508" HREF="msg00508.html">[MUD-Dev] RE: [IDEAS] Starting from scratch</A></STRONG>
<UL><LI><EM>From:</EM> "Leach, Brad BA" &lt;Leach.Brad.BA#bhp,com.au&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00530.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00532.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00515.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01013.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00531"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00531"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><STRONG>[MUD-Dev] RE: Question regarding Java threads</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00622" HREF="msg00622.html">[MUD-Dev] RE: Question regarding Java threads</A></strong>, 
Matt Chatterley <a href="mailto:matt#mpc,dyn.ml.org">matt#mpc,dyn.ml.org</a>, Mon 10 Aug 1998, 10:42 GMT
<UL>
<LI><strong><A NAME="00644" HREF="msg00644.html">[MUD-Dev] Re: Question regarding Java threads</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Tue 11 Aug 1998, 02:39 GMT
</LI>
</UL>
</LI>
</ul>
</LI>
<LI><strong><A NAME="00508" HREF="msg00508.html">[MUD-Dev] RE: [IDEAS] Starting from scratch</A></strong>, 
Leach, Brad BA <a href="mailto:Leach.Brad.BA#bhp,com.au">Leach.Brad.BA#bhp,com.au</a>, Thu 06 Aug 1998, 02:40 GMT
<UL>
<LI><strong><A NAME="00515" HREF="msg00515.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></strong>, 
T. Alexander Popiel <a href="mailto:popiel#snugharbor,com">popiel#snugharbor,com</a>, Thu 06 Aug 1998, 06:20 GMT
</LI>
<LI><strong><A NAME="00531" HREF="msg00531.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></strong>, 
Adam Wiggins <a href="mailto:adam#mail,angel.com">adam#mail,angel.com</a>, Thu 06 Aug 1998, 18:18 GMT
</LI>
<LI><strong><A NAME="01013" HREF="msg01013.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 11 Sep 1998, 02:43 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00505" HREF="msg00505.html">[MUD-Dev] [IDEAS] Starting from scratch</A></strong>, 
Franklyn Colebrooke, Jr. <a href="mailto:colebrookef#post,uwstout.edu">colebrookef#post,uwstout.edu</a>, Thu 06 Aug 1998, 01:22 GMT
<UL>
<LI><strong><A NAME="00506" HREF="msg00506.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></strong>, 
Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Thu 06 Aug 1998, 01:44 GMT
</LI>
<LI><strong><A NAME="00512" HREF="msg00512.html">[MUD-Dev] Re: [IDEAS] Starting from scratch</A></strong>, 
Hans-Henrik Staerfeldt <a href="mailto:hhs#cbs,dtu.dk">hhs#cbs,dtu.dk</a>, Thu 06 Aug 1998, 05:42 GMT
</LI>
</UL>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>