TopGit / code4craft/hello-design-pattern SNAPSHOT GITHUB
code4craft/hello-design-pattern C TopGit repo profile for code4craft/hello-design-pattern, with GitHub repository stats and README context. Đánh giá Readme Prompt Clone Nhắc đến Bình luận
ĐÁNH GIÁ NHANH
code4craft/hello-design-pattern là dự án mã nguồn mở trên GitHub với 393 sao, viết chủ yếu bằng Java. Hello world using all 23 kinds of GoF design patterns.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Snapshot Stars ★ 393
Forks ⑂ 111
Language Java
Topic —
License Apache-2.0
Homepage —
Xem cách chúng tôi review ↗
Cộng tác viên hàng đầu Xem cộng tác viên hàng đầu hello-design-pattern
Hello world using all 23 kinds of GoF design patterns.
public class Main {
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
//hello=interjection
//world=object
System.out.println("We are creational patterns!");
System.out.println("1. Abstract Factory: ");
SplitHelloWorldFactory abstractFactory = AbstractFactory.select(AbstractFactory.Type.DesignPattern);
HelloWorld abstractFactoryHelloWorld = new SplitHelloWorld(abstractFactory.createHelloWorldInterjection(),
abstractFactory.createHelloWorldObject());
System.out.println(abstractFactoryHelloWorld.helloWorld());
System.out.println("2. Builder: ");
HelloWorld builderHelloWorld = HelloWorldBuilder.builder()
.interjection("Hello")
.object("Builder").getHelloWorld();
System.out.println(builderHelloWorld.helloWorld());
System.out.println("3. Factory Method: ");
/**
* Difference between "abstract factory" and "factory method" is the abstracting point:
* 1. Abstracting point of abstract factory is factory.
* 2. Abstracting point of factory method is generated object.
*/
FactoryMethodHelloWorldFactory factoryMethodHelloWorldFactory = new FactoryMethodHelloWorldFactory();
HelloWorld factoryMethodHelloWorld = factoryMethodHelloWorldFactory.createHelloWorld();
System.out.println(factoryMethodHelloWorld.helloWorld());
System.out.println("4. Prototype: ");
HelloWorld prototypeHelloWorld = HelloWorldPrototype.PROTOTYPE.clone();
System.out.println(prototypeHelloWorld.helloWorld());
System.out.println("5. Singleton: ");
HelloWorld singletonHelloWorld = HelloWorldSingleton.instance();
System.out.println(singletonHelloWorld.helloWorld());
System.out.println("====================================");
System.out.println("We are structural patterns!");
System.out.println("6. Adapter: ");
HelloWorld adapterHelloWorld = new HelloWorldAdapter(new HelloAdapterDesignPattern());
System.out.println(adapterHelloWorld.helloWorld());
System.out.println("7. Bridge: ");
HelloWorld bridgeHelloWorld = new HelloWorldBridge(new DesignPatternWorldImpl());
//leave bridgeHelloWorld' output to compositeHelloWorld
System.out.println("8. Composite: ");
HelloWorld compositeHelloWorld = new CompositeHelloWorld(bridgeHelloWorld, new CompositeHelloWorld.DefaultHelloWorld());
System.out.println(compositeHelloWorld.helloWorld());
System.out.println("9. Decorator: ");
HelloWorldDecorator decoratorHelloWorld = new HelloWorldDecorator(new HelloWorldDecorator.DefaultHelloWorld());
System.out.println(decoratorHelloWorld.helloDecorator());
System.out.println("10. Facade: ");
HelloWorld facadeHelloWorld = HelloWorldFacade.instance().facadeHelloWorld();
System.out.println(facadeHelloWorld.helloWorld());
System.out.println("11. Flyweight: ");
HelloWorld flyWeightHelloWorld = HelloWorldFlyWeightFactory.instance().createHelloWorld("Hello Flyweight!");
System.out.println(flyWeightHelloWorld.helloWorld());
System.out.println("12. Proxy: ");
HelloWorld proxyHelloWorld = new HelloWorldProxy(new HelloWorldProxy.DefaultHelloWorld());
System.out.println(proxyHelloWorld.helloWorld());
System.out.println("====================================");
System.out.println("We are behavioral patterns!");
System.out.println("13. Chain of Responsibility: ");
HelloWorldHandler helloWorldChainOfResponsibility = new HelloWorldInterjectionHandler().setNext(new HelloWorldObjectHandler());
System.out.println(helloWorldChainOfResponsibility.helloWorld());
System.out.println("14. Command: ");
Command helloWorldCommand = new HelloWorldPrintCommand();
helloWorldCommand.execute();
System.out.println("15. Interpreter: ");
HelloWorldInterpreter helloWorldInterpreter = new HelloWorldInterpreter();
helloWorldInterpreter.interpret("println('Hello Interpreter!')");
System.out.println("16. Iterator: ");
HelloWorldCharacterIterator helloWorldCharacterIterator = new HelloWorldCharacterIterator("Hello Iterator!".toCharArray());
while (helloWorldCharacterIterator.hasNext()) {
System.out.print(helloWorldCharacterIterator.next());
}
System.out.println();
System.out.println("17. Mediator: ");
HelloWorldInterjection helloWorldInterjection = new HelloWorldInterjection();
HelloWorldObject helloWorldObject = new HelloWorldObject();
HelloWorldMediator helloWorldMediator = new HelloWorldMediator(helloWorldInterjection, helloWorldObject);
helloWorldInterjection.setHelloWorldMediator(helloWorldMediator);
helloWorldObject.setHelloWorldMediator(helloWorldMediator);
System.out.println(helloWorldObject.helloWorld());
System.out.println("18. Memento: ");
HelloWorldMementoOriginator helloWorldMementoOriginator = new HelloWorldMementoOriginator();
HelloWorldMementoOriginator.Memento memento = helloWorldMementoOriginator.set("Hello Memento!").saveToMemento();
helloWorldMementoOriginator.set("Hello Whatever!");
helloWorldMementoOriginator.restoreFromMemento(memento);
System.out.println(helloWorldMementoOriginator.helloWorld());
System.out.println("19. Observer: ");
Subject subject = new Subject().attach(new HelloWorldObserver());
subject.notifyObservers();
System.out.println("20. State: ");
HelloWorldStateContext helloWorldStateContext = new HelloWorldStateContext();
HelloWorld stateHelloWorld = helloWorldStateContext.appendWord("Hello").appendWord("State");
System.out.println(stateHelloWorld.helloWorld());
System.out.println("21. Strategy: ");
HelloWorldStrategyContext helloWorldStrategyContext = new HelloWorldStrategyContext(new DesignPatternHelloWorldStrategy());
System.out.println(helloWorldStrategyContext.helloWorld());
System.out.println("22. Template Method: ");
HelloWorld templateMethodHelloWorld = new TemplateMethodHelloWorld();
System.out.println(templateMethodHelloWorld.helloWorld());
System.out.println("23. Visitor: ");
HelloWorldCharacterElements helloWorldCharacterElements = new HelloWorldCharacterElements("Hello Visitor!".toCharArray());
HelloWorldCharacterVisitor helloWorldCharacterVisitor = new HelloWorldCharacterVisitor();
helloWorldCharacterElements.accept(helloWorldCharacterVisitor);
System.out.println(helloWorldCharacterVisitor.helloWorld());
}
}
CÂU HỎI THƯỜNG GẶP
Trả lời nhanh code4craft/hello-design-pattern có phải mã nguồn mở không? Có — code4craft/hello-design-pattern phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/code4craft/hello-design-pattern.
code4craft/hello-design-pattern có website riêng không? TopGit chưa ghi nhận URL trang chủ cho code4craft/hello-design-pattern. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
code4craft/hello-design-pattern dùng license gì? code4craft/hello-design-pattern phát hành theo license Apache-2.0. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
code4craft/hello-design-pattern là gì? code4craft/hello-design-pattern (code4craft/hello-design-pattern) là dự án Java trên GitHub. Theo mô tả gốc: Hello world using all 23 kinds of GoF design patterns.
Đọc thêm về code4craft/hello-design-pattern ở đâu? Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/code4craft/hello-design-pattern là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc hello-design-pattern có hợp với bạn? Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về hello-design-pattern.