面向方面的编程助手

concerns的Python项目详细描述


#关注点

[python](https://www.python.org/)实现
[ruby](https://www.ruby-lang.org/)
[activesupport::关注点](https://api.rubyonrails.org/v5.1/classes/activesupport/concern.html)
行为。


[元类](https://www.python.org/doc/artists/metaclasses/)``初始方法,
正式的“名称空间”:

`` python
`定义初始(cls,name:str,base:tuple,namespace:dict)->;无:

```

它是类体的字典表示。


它的上下文将被合并到目标上下文上。< BR> > BR/> DEF反序列化(CLS,数据:STR):
BR/>< BR/>类人物库(NUBDUTPLE): BR/>姓氏:STR
BR/> BR/>类人(个人基础):
关注(SerialMixin)
‘BR/>< BR> > BR>>BR/> StrutKix=真)< BR/>方面是一个映射(例如,字典),它本身将被合并到目标上下文的分解上。


``python
from concerns import concern

声音:str=none):
如果声音:
self.voice=voice

def say(self)->;none:
打印(self.voice)
````

目标类上下文将作为
参数传递给方面,以便在对其进行分解之前进行处理。

``python
from concerns import concern
from collections.abc import mutablemapping
from datetime import datetime

def make_timed(context:mutablemapping)->;none:

”可重用方面函数将创建时间添加到对象



def set_created_attr(attr:str)->;none:
context[attr]=none
def new(cls,name:str,base:tuple,_dict:dict):
self=super()。\uu new_u(cls,name,base,_dict)
setattr(self,attr)=datetime.now()
return self
上下文[''''u new']=new
context['set_created_attr']=set_created_attr



类寄存器:
关注点(设置时间)


…#更多类属性

set_created_attr('created_at')
````



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题