source: trunk/abcl/doc/design/pathnames/paper.org @ 15184

Last change on this file since 15184 was 15184, checked in by Mark Evenson, 3 years ago

doc: start describing current problems with CL:PATHNAME

Also needs rethinking about literals like wildcard.

File size: 1.0 KB
Line 
1* "Write a paper on the ABCL Pathname implementation"
2
3** Needs within ABCL
4
5*** Pathname refactoring
6"vaguely", I want to replace org.lisp.armedbear.Pathname with some
7sort of abstraction that allows easier maintainence and understanding of the code.
8
9cl:logical-pathname a cl:pathname
10
11ext:uri-pathname a cl:pathname
12
13ext:jar-pathname a ext:uri-pathname
14
15We naively begin by attempting to outline reasons one can't replace with an interface.
16
17**** constructors
18
19#+BEGIN_SRC java
20     new Pathname(namestring)
21#+#END_SRC
22
23#+BEGIN_SRC java
24    Pathname Pathname.create(namestring)
25#+END_SRC
26
27Use Builder or Factory?
28<http://stackoverflow.com/questions/757743/what-is-the-difference-between-builder-design-pattern-and-factory-design-pattern>
29
30Try Builder so we can do stuff like
31
32#+BEGIN_SRC java
33      Pathname result = new PathnameBuilder()
34        .setDirectory("/foo/bar/")
35        .setName("baz")
36        .setType("bat").build();
37
38
39**** Encapsulate fields with getter/setters
40
41**** TODO cache result of calling Namestring
42
43
Note: See TracBrowser for help on using the repository browser.