Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
java-design-pattern
提交
980b6f20
J
java-design-pattern
项目概览
门心叼龙
/
java-design-pattern
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
java-design-pattern
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
980b6f20
编写于
12月 26, 2019
作者:
门心叼龙
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code perfect
上级
4948ba80
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
188 addition
and
9 deletion
+188
-9
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/Test.java
..._pattern/src/main/java/com/mxdl/desigin/pattern/Test.java
+3
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/Light.java
...n/java/com/mxdl/desigin/pattern/behavior/state/Light.java
+22
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/State.java
...n/java/com/mxdl/desigin/pattern/behavior/state/State.java
+13
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/StateClose.java
...a/com/mxdl/desigin/pattern/behavior/state/StateClose.java
+16
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/StateOpen.java
...va/com/mxdl/desigin/pattern/behavior/state/StateOpen.java
+17
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/Test.java
...in/java/com/mxdl/desigin/pattern/behavior/state/Test.java
+23
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/IState.java
.../com/mxdl/desigin/pattern/behavior/state/test/IState.java
+12
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyCloseState.java
...xdl/desigin/pattern/behavior/state/test/MyCloseState.java
+15
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyLight.java
...com/mxdl/desigin/pattern/behavior/state/test/MyLight.java
+29
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyLightState.java
...xdl/desigin/pattern/behavior/state/test/MyLightState.java
+12
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyOpenState.java
...mxdl/desigin/pattern/behavior/state/test/MyOpenState.java
+18
-0
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/create/a03_factory_method/factory_method.puml
...gin/pattern/create/a03_factory_method/factory_method.puml
+2
-3
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/structure/a01_adapter/uml/Adapter.puml
...dl/desigin/pattern/structure/a01_adapter/uml/Adapter.puml
+1
-1
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/structure/a06_bridge/bridge.puml
...com/mxdl/desigin/pattern/structure/a06_bridge/bridge.puml
+4
-5
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/structure/a07_composite/composite.puml
...dl/desigin/pattern/structure/a07_composite/composite.puml
+1
-0
未找到文件。
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/Test.java
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern
;
import
java.util.ArrayList
;
import
java.util.Observable
;
import
java.util.Observer
;
...
...
@@ -40,5 +41,7 @@ public class Test {
});
System
.
out
.
println
(
"update 22 start..."
);
observable
.
notifyObservers
(
"fff"
);
Iterable
iterable
;
ArrayList
list
;
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/Light.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state
;
/**
* Description: <Light><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
Light
{
private
State
state
;
public
Light
(){
state
=
new
StateClose
();
}
void
onPress
(){
state
.
onPress
(
this
);
}
public
void
setState
(
State
state
)
{
this
.
state
=
state
;
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/State.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state
;
/**
* Description: <State><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
interface
State
{
void
onPress
(
Light
light
);
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/StateClose.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state
;
/**
* Description: <StateClose><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
StateClose
implements
State
{
@Override
public
void
onPress
(
Light
light
)
{
System
.
out
.
println
(
"关闭状态"
);
light
.
setState
(
new
StateOpen
());
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/StateOpen.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state
;
/**
* Description: <StateClose><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
StateOpen
implements
State
{
@Override
public
void
onPress
(
Light
light
)
{
System
.
out
.
println
(
"打开状态"
);
light
.
setState
(
new
StateClose
());
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/Test.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state
;
import
com.mxdl.desigin.pattern.behavior.state.test.MyLight
;
/**
* Description: <Test><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
Test
{
public
static
void
main
(
String
[]
args
)
{
// Light light = new Light();
//// light.onPress();
//// light.onPress();
//// light.onPress();
MyLight
myLight
=
new
MyLight
();
myLight
.
onPress
();
myLight
.
onPress
();
myLight
.
onPress
();
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/IState.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state.test
;
/**
* Description: <IState><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
interface
IState
{
void
onPress
(
MyLight
light
);
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyCloseState.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state.test
;
/**
* Description: <MyOpenState><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
MyCloseState
implements
IState
{
@Override
public
void
onPress
(
MyLight
light
)
{
System
.
out
.
println
(
"灯打开了"
);
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyLight.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state.test
;
/**
* Description: <MyLight><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
MyLight
{
// boolean isOpen = false;
// public void onPress(){
// if(isOpen){
// System.out.println("灯打开了");
// isOpen = false;
// }else{
// System.out.println("灯关闭了");
// isOpen = true;
// }
// }
IState
mIState
;
public
void
onPress
(){
mIState
.
onPress
(
this
);
}
public
void
setIState
(
IState
IState
)
{
mIState
=
IState
;
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyLightState.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state.test
;
/**
* Description: <MyLightState><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
MyLightState
{
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/behavior/state/test/MyOpenState.java
0 → 100644
浏览文件 @
980b6f20
package
com.mxdl.desigin.pattern.behavior.state.test
;
import
com.mxdl.desigin.pattern.behavior.state.StateOpen
;
/**
* Description: <MyOpenState><br>
* Author: mxdl<br>
* Date: 2019/12/26<br>
* Version: V1.0.0<br>
* Update: <br>
*/
public
class
MyOpenState
implements
IState
{
@Override
public
void
onPress
(
MyLight
light
)
{
System
.
out
.
println
(
"灯打开了"
);
light
.
setIState
(
new
MyCloseState
());
}
}
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/create/a03_factory_method/factory_method.puml
浏览文件 @
980b6f20
@
startuml
skinparam
classAttributeSkipSize
0
package
"Factory Method"
{
abstract
class
Creator
{
+
factoryMethod
():
Product
}
abstract
class
Product
class
ConcreateCreator
extends
Creator
note
top
:
定义了一个创建对象的接口,
\
n
具体的创建类型由子类来完成
abstract
class
Product
class
ConcreateProduct
extends
Product
ConcreateCreator
->
ConcreateProduct
...
...
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/structure/a01_adapter/uml/Adapter.puml
浏览文件 @
980b6f20
...
...
@@ -16,7 +16,7 @@ package "Adapter"{
Adapter
->
Adaptee
class
Client
note
left
:
1.
类适配器
\
n2
.
接口适配器
\
n3
.
对象适配器
note
left
:
1.
接口适配器
\
n2
.
对象适配器
Client
->
Target
}
...
...
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/structure/a06_bridge/bridge.puml
浏览文件 @
980b6f20
@
startuml
package
Bridge
{
class
Abstraction
note
top
:
抽象
interface
Implementor
note
top
:
实现
class
Abstraction
note
top
:
抽象
interface
Implementor
note
top
:
实现
Abstraction
->
Implementor
class
ConcreateAbstraction
note
bottom
:
将对象的抽象和实现相分离,使二者可以相对独立的变化
class
ConcreateAbstraction
extends
Abstraction
class
ConcreateImplementor
implements
Implementor
}
@
enduml
\ No newline at end of file
lib_design_pattern/src/main/java/com/mxdl/desigin/pattern/structure/a07_composite/composite.puml
浏览文件 @
980b6f20
...
...
@@ -5,6 +5,7 @@ package Conposite{
+
add
(
paramter
:
Component
)
+
remove
(
paramter
:
Component
)
}
note
top
:
将多个单一对象组成一个具有一定层次关系的树形结构的组合对象
\
n
组合模式淡化了单个对象和组合对象之间的差别
\
n
使得单个对象和组合对象之间有相同的处理方式
class
Leaf
implements
Component
class
Conposite
implements
Component
{
+
conponents
:
List
<
Component
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录